BINKDocs
HelpDashboard

Hosted Checkout

/docs/global/payments/hosted-checkoutGlobal

Redirect customers to a BINKPAY-hosted payment page. Card data never touches your servers, which keeps your integration out of PCI DSS scope entirely.

How it works

1

You create the payment and receive a payUrl.

2

The customer completes payment on the BINKPAY page — card, wallet or bank.

3

They are redirected to your successUrl or cancelUrl.

4

Your webhook receives the final status. Act on that, not on the redirect.

Why not build your own form

Hosted Checkout inherits 3DS challenge flows, wallet redirects and localised payment-method ordering automatically — none of which you have to build or maintain.

Success and cancel URLs

Set successUrl and cancelUrl when creating the payment. The reference is appended to both as a query parameter.

ParameterTypeRequiredWhere the customer lands
successUrlstring (url)OptionalAfter a successful payment. Receives ?ref=<reference>.
cancelUrlstring (url)OptionalIf they abandon or cancel checkout.
bash
curl https://api.binkpay.net/merchant/payments \
 -H "Authorization: Bearer sk_test_..." \
 -H "Content-Type: application/json" \
 -d '{
 "amountMinor": "12500",
 "currency": "EGP",
 "successUrl": "https://yourshop.com/thank-you",
 "cancelUrl": "https://yourshop.com/cart"
 }'

Never trust the redirect alone

A customer can close the tab before the redirect fires, or open the success URL directly. Confirm the payment server-side from the webhook or GET /merchant/payments/:id before releasing goods.

Customisation

The page picks up your business name and logo from Settings → Branding. Everything below is set per payment.

FieldEffect
customerName
customerEmail
customerPhone
Prefills the customer's details so they do not retype them
requireCustomerEmail
requireCustomerPhone
Makes the field mandatory before payment can proceed
collectBillingAddressCollects a full billing address

Was this page helpful?