Integrated checkout
Use integrated checkout when the payer starts payment from your website or app and you redirect them to Vpay’s hosted form.Sequence
Steps
1. Authenticate
Obtain a Bearer token. See Authentication.2. Start payment
POST /pay/api/start-payment with amount, currency, merchant reference, and callback URLs.
Required callbacks:
callbackSuccessUrl— payer lands here after approvalcallbackFailUrl— payer lands here after decline or error
callbackBackUrl— payer cancels or navigates back from checkout
checkoutSessionId and internalTransactionReferenceNumber.
3. Redirect payer
Send the payer’s browser to:4. Payer completes payment
Vpay renders the hosted checkout (card fields, 3DS when required). Processing may involve:ThreeDsFingerprintRequired/ThreeDsChallengeRequired(legacy 3DS flows)OnvoAuthenticationRequired(ONVO processor redirect)
5. Callback redirect
After processing, Vpay redirects the browser to:callbackSuccessUrlon approval, orcallbackFailUrlon failure
6. Confirm status server-side
CallGET /pay/api/payment/{checkoutSessionId} from your backend. Treat this response as the authoritative payment result before fulfilling the order.
Best practices
- Use HTTPS for all callback URLs.
- Never trust client-side redirect alone — always query payment status.
- Use unique
transactionReferenceNumbervalues per order. - Pass
X-idoperacionfor support correlation.

