This section explains the three URL fields that complete the payment flow: CallbackUrl, FailureCallbackUrl, and SuccessWebHookUrl.
CallbackUrl
CallbackUrlPurpose
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’sIDbefore the redirect. 
Example
https://merchant.example.com/checkout/result/{id}
→ https://merchant.example.com/checkout/result/86ee37d9‑5cda‑4ba1‑a40a‑2c4e464e3b2fRecommended handling
- Read the 
idvalue 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
FailureCallbackUrlPurpose
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‑2c4e464e3b2fRecommended handling
- Read the 
idand call Get Payment Request for status details. - Display a suitable "payment failed" message and instructions for the payer.
 
SuccessWebHookUrl
SuccessWebHookUrlPurpose
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‑1287Recommended handling
- Treat the webhook as a trigger only—immediately call Get Payment Request to verify status.
 
