POST /v1/payments/retailPay
Initiates a retail payment where the merchant scans the customer’s wallet QR code or barcode (Customer Presented Mode).
Request Parameters
Fixed product code for B Scan C:
51051000101000100040Max length: 32 charactersMerchant-generated unique identifier (idempotency key). Must be unique per transaction.Max length: 64 characters
The QR code or barcode content scanned from the customer’s wallet. Single-use only.Max length: 128 characters
Order details.
Merchant callback URL for payment result notifications.Max length: 1024 characters
JSON-formatted extension data.Max length: 2048 characters
Response Parameters
Standard result object with
resultCode, resultStatus, resultMessageEcho of the merchant-provided request identifier.
Wallet-generated unique payment identifier.Max length: 64 characters
Payment completion time in ISO 8601 format.
Confirmed payment amount.
Result Codes
| resultStatus | resultCode | Description |
|---|---|---|
S | SUCCESS | Payment processed successfully |
F | PARAM_ILLEGAL | Invalid parameters |
F | INVALID_CODE | Auth code is invalid |
F | AUTH_CODE_ALREADY_USED | Auth code already used |
F | PAYMENT_AMOUNT_EXCEED_LIMIT | Payment amount exceeds limit |
F | CURRENCY_NOT_SUPPORT | Currency not supported |
F | RISK_REJECT | Transaction rejected by risk engine |
U | UNKNOWN_EXCEPTION | Unknown error occurred |
U | REQUEST_TRAFFIC_EXCEED_LIMIT | Rate limit exceeded |