Skip to main content
Checkout has one merchant browser return URL: callbackUrl. After the customer pays (or leaves), they may be sent back to this page. Money movement is still confirmed by webhooks, not by this redirect. Do not treat a visit to your callback URL as paid.

How to set it

You can set callbackUrl in either place:
  1. Per checkout: pass callbackUrl on POST /checkout/sessions, or on POST /escrows when checkout is true.
  2. Account default: set it once on your merchant account in Demat.
If both are set, the value on the checkout request wins. If neither is set, the payer is not sent to a return URL you control. The URL must be https:// with a public domain. Do not use localhost, an IP, or http. Send null or an empty string on the account to clear the default. Use a page you control. Wait for payment.succeeded, escrow.funded, or wallet.credited before marking an order paid.