Direct Checkout — Mode: URL
Returns a redirect URL for the selected payment method. Redirect the customer to this URL to complete payment.
When to Use
▾
Use this mode when:
- Integrating Alipay+, Boost, or other URL-redirect payment methods
- Integrating Google Pay or Apple Pay via their wallet SDKs (pass the encrypted payment token in
wallet.token) - Driving payment from your own checkout UI
Poll Query Payment Checkout every 3-5 seconds to track payment status.
How to Use
▾
/v3/payment/online/checkoutStep 1: Create a Checkout
▾
Call Hosted Payment Checkout to obtain checkoutId.
Step 2: Request the Redirect URL
▾
POST with type: "URL" and the desired method.
Step 3: Redirect the Customer
▾
Send the customer to the returned url. Poll Query Payment Checkout for status updates.
Google Pay / Apple Pay
▾
For method: "GOOGLE_PAY" or method: "APPLE_PAY", also pass the encrypted payment token returned by the wallet SDK in wallet.token. This is the paymentMethodData.tokenizationData.token value from the Google Pay (or Apple Pay) response — itself a JSON object — sent as a stringified JSON inside wallet.token.
Decoded, the token has this shape:
1{2"signature": "MEUCID9QZJoOB83h7t6WkAQ8sBLhXj+jfzYfXzmelHPPrg9f...",3"intermediateSigningKey": {4 "signedKey": "{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE...\",\"keyExpiration\":\"1787074723781\"}",5 "signatures": ["MEYCIQChx9HTXpjHf3ma5qBK1eygwc4s20z5zEpiCKBxE2..."]6},7"protocolVersion": "ECv2",8"signedMessage": "{\"encryptedMessage\":\"l9FEv/4so6kVNYFfN5IPJG3Rt9gxXWgs9...\",\"ephemeralPublicKey\":\"BIsm4mMzbnVrN3...\",\"tag\":\"...\"}"9}
Sent on the wire, wallet.token is that whole object escaped into a single string:
1{2"checkoutId": "1786442259270666450",3"type": "URL",4"method": "GOOGLE_PAY",5"wallet": {6 "token": "{\"signature\":\"MEUCID9QZJoOB83h7t6WkAQ8sBLhXj+jfzYfXzmelHPPrg9f...\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE...\\\",\\\"keyExpiration\\\":\\\"1787074723781\\\"}\",\"signatures\":[\"MEYCIQChx9HTXpjHf3ma5qBK1eygwc4s20z5zEpiCKBxE2...\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"l9FEv/4so6kVNYFfN5IPJG3Rt9gxXWgs9...\\\",\\\"ephemeralPublicKey\\\":\\\"BIsm4mMzbnVrN3...\\\",\\\"tag\\\":\\\"...\\\"}\"}"7}8}
The response may return action: "3DS_CHALLENGE" — redirect the customer to url to complete 3DS authentication before the payment is confirmed.
1{2"item": {3 "action": "3DS_CHALLENGE",4 "type": "URL",5 "url": "https://sb-pg.revenuemonster.my/3ds/..."6},7"code": "SUCCESS"8}
Request Parameters
▾
Checkout ID from the Hosted Payment Checkout response.
Checkout type. Set to "URL".
Payment method (e.g., ALIPAYPLUS_MY, GOOGLE_PAY, APPLE_PAY).
Accepted value: "H5". Only works when method is "WECHATPAY_CN".
Required when method is "GOOGLE_PAY" or "APPLE_PAY".
Encrypted payment token (stringified JSON) returned by the Google Pay / Apple Pay SDK.
Response Parameters
▾
Response item
Present when additional action is required (e.g., "3DS_CHALLENGE" for Google Pay / Apple Pay).
Checkout session type.
Checkout session URL.
"SUCCESS" if the request succeeded.
Error details
Error code.
Error message.
Debug message (sandbox only).