Skip to main content

The flow

1

Create the payment

Your server creates it and gets a checkoutUrl.
2

Send your customer

Redirect them, or share the link or a QR code.
3

They pay

They choose a network and token, and send the amount shown.
4

We confirm it

We see it on-chain, credit your balance and POST checkout.completed to your webhook URL.
5

They come back

The customer returns to your redirectUrl.

Create the payment

Amounts are in your currency: USD, NGN, GHS, KES, UGX, TZS, XOF-BEN or XOF-CIV. We convert at the current rate when the customer picks a token. Put your order ID in reference; it comes back in the webhook.
Keep the txRef from the response. It identifies the payment on our side.

Confirm it was paid

Don’t rely on the customer reaching your redirectUrl: they might close the tab. Fulfil the order when you receive checkout.completed, after checking its signature.
checkout.completed
If you missed a webhook, look the payment up with Retrieve a checkout.

Fees

Each completed payment is added to your balance in the payment’s currency, less a 0.5% fee: a ₦25,000 payment adds ₦24,875.

Payments that don’t match

A payment that arrives more than 1% short, or in a token other than the one the checkout asked for, isn’t completed automatically. We hold it and review it, and refund the customer where that’s right. You won’t get checkout.completed for it.
In the sandbox the checkout page has buttons to complete or fail the payment, so you can test the redirect and the webhook without sending funds.