FAQ
Frequently Asked Questions
Below are common questions and answers during the integration process, grouped by category for easy reference.
How to bind MFA on first login to the merchant dashboard
A binding MFA page will appear on your first login:
- Download and install Authenticator based on your mobile OS (skip if already installed)
- Scan the QR code on the right side of the page with Authenticator to bind MFA
- Enter the MFA code from Authenticator to complete the setup
For subsequent logins, simply check the MFA code — no need to bind again. If you need to rebind, please contact technical support to reset.
Merchant account locked, password reset, MFA reset
Please send your merchant login account to the technical support group chat and specify whether it is a test environment or production environment account.
Payment fails or page error occurs in the test environment
The test environment requires simulated payment through the merchant dashboard — it does not support real payment flows like the production environment.
Transaction not found during simulated payment
Please troubleshoot in the following order:
- Check whether the country in the top-right corner is correct
- Check whether the product is correct
- Check whether the mchOrderId is correct
- Check whether the appId in the parameters is correct
The mobile format is invalid
Merchant channel is unavailable
Please send the request and response parameters to the technical support group chat.
Dynamic code or WebPay login payment fails during production testing
Dynamic codes have an expiration time — try generating a new order. WebPay payment links will return a payment failure if the login payment is not completed after clicking the link — try generating a new one.
If the issue persists, please send the QR code, payment link, request and response parameters to the technical group chat.
Disbursement test returns insufficient merchant balance
You need to initiate a top-up operation in the merchant dashboard, then contact technical support for review.
After obtaining the payToken for authorized deduction, which API to call for payment
Call the Collection - Place Order API.
Request signature error
The signature string is inconsistent. Please check the following possible causes:
- Sorting issue (mainly in PII international systems)
- Inconsistent signing method
- Extra parameters passed
- Verify that
Content-Typeisapplication/json— JSON must be used for transmission, otherwise parameters cannot be retrieved - The uploaded public key and the signing private key are not from the same pair, or the uploaded public key contains spaces or line breaks
Request amount issues
- Amount is not an integer
- Amount is outside the channel limit range
- Amount is too small: For Indonesia, the unit is in yuan (no need to ×100; recommend passing at least 10000 IDR); for other countries, the unit is in cents (multiply by 100, e.g., 1 PHP in the Philippines should be passed as 100)
Unable to collect customerName, email, mobile for business reasons
These fields are mandatory for the payment channel. The channel only validates the format, not the authenticity of the information — you may fill in company information instead.
How to pass Channel Code, payMethodCode, and Transfer Code
Please find the corresponding table in the documentation and pass the matching enum values.
What data should be returned in the callback? What are the callback frequency and retry intervals?
- You do not need to process the body content. In exceptional cases, return a non-200 HTTP status code
- Callback frequency: Every minute for the first 10 minutes, then every hour after 10 minutes
- Transactions older than one day will not be automatically retried based on the status code