This section explains the three URL fields that complete the payment flow: CallbackUrl
, FailureCallbackUrl
, and SuccessWebHookUrl
.
CallbackUrl
CallbackUrl
Purpose
Once the payment page has processed the payment attempt (card, wallet, or Pay by Bank) or a notification of an inbound Pay by Bank payment is received, the payer’s browser is redirected to CallbackUrl
. This is normally a page on your site that shows the outcome of the attempt.
How it is invoked
- HTTP GET.
- If the URL contains the placeholder
{id}
, it is replaced with the payment request’sID
before the redirect.
Example
https://merchant.example.com/checkout/result/{id}
→ https://merchant.example.com/checkout/result/86ee37d9‑5cda‑4ba1‑a40a‑2c4e464e3b2f
Recommended handling
- Read the
id
value from the path or query string. - Call the Get Payment Request API with that
ID
. - Show an appropriate success/failure/pending message to the payer.
FailureCallbackUrl
FailureCallbackUrl
Purpose
Optional URL used when the payer leaves the payment page (e.g., is sent to their bank during a Pay by Bank flow) and the attempt ultimately fails. If this property is not supplied, the payer is redirected back to the OriginUrl
that initiated the payment.
How it is invoked
- HTTP GET.
{id}
placeholder is substituted exactly as forCallbackUrl
.
Example
https://merchant.example.com/checkout/failed/{id}
→ https://merchant.example.com/checkout/failed/86ee37d9‑5cda‑4ba1‑a40a‑2c4e464e3b2f
Recommended handling
- Read the
id
and call Get Payment Request for status details. - Display a suitable "payment failed" message and instructions for the payer.
SuccessWebHookUrl
SuccessWebHookUrl
Purpose
A server‑to‑server notification that the payment request has reached FullyPaid. This allows your backend to complete the order lifecycle without relying on the payer’s session.
When it fires
Immediately after any event (card settlement, wallet capture, inbound Pay by Bank credit) transitions the payment request to FullyPaid
.
How it is invoked
-
HTTP GET.
-
Two query parameters are appended:
id
– the Payment Request IDorderid
– the OrderID supplied when the request was created (may be empty)
Example
https://merchant.example.com/api/payment/success
?id=86ee37d9‑5cda‑4ba1‑a40a‑2c4e464e3b2f
&orderid=INV‑2025‑1287
Recommended handling
- Treat the webhook as a trigger only—immediately call Get Payment Request to verify status.