Skip to main content
WAP (H5) payment allows merchants to trigger wallet payment flows from mobile browsers such as Chrome or Safari.
For WAP/H5 payments, merchants should guide users to open the payment link in a mobile browser such as Chrome, Safari, or Edge. Due to restrictions in in-app browsers (for example WhatsApp, Facebook Messenger, or WeChat), QFPay cannot guarantee that these apps can invoke external wallet apps correctly.Example: Alipay cannot be automatically opened inside the WeChat in-app browser. This is a browser restriction beyond QFPay’s control.

HTTP Request

POST /trade/v1/payment You can find the corresponding pay_type for each wallet in the table below:
PayTypeDescription
800212WeChat H5 Payment — see WeChat H5 Payment
801512AlipayHK WAP Payment — see Alipay H5 Payment
800712UnionPay WAP Payment
805812PayMe WAP Payment

Request Parameters

NameParameterRequiredTypeDescription
Transaction AmounttxamtYesInt(11)Amount in smallest unit (e.g. 100 = $1). Recommended to be > 200 to reduce risk control failures.
CurrencytxcurrcdYesString(3)Transaction currency. See Currency List.
Payment Typepay_typeYesString(6)The wallet payment type code (e.g. PayMe WAP = 805812).
Order Numberout_trade_noYesString(128)Unique order number per merchant account across all payment/refund requests.
Transaction TimetxdtmYesString(20)Format: YYYY-MM-DD hh:mm:ss
Product Namegoods_nameNoString(64)Product name/identifier.
QFPay Merchant IDmchidNoString(16)Assigned by QFPay. Required for some merchants depending on backend configuration.
Device IDudidNoString(40)Unique device ID shown in the merchant dashboard.
Redirect URLreturn_urlNoString(255)URL the user is redirected to after payment completes.
Notification URLnotify_urlNoString(255)URL to receive asynchronous notifications after payment.

Response Parameters

NameParameterTypeDescription
Payment Typepay_typeString(6)Wallet payment type code.
System TimesysdtmString(20)YYYY-MM-DD hh:mm:ss. Used as settlement cutoff.
Transaction TimetxdtmString(20)As sent in request.
Response MessageresperrString(128)Description or status message.
AmounttxamtInt(11)Transaction amount.
Debug InforespmsgString(128)Internal response/debug message.
External Order No.out_trade_noString(128)Returned for reference.
QFPay Order No.syssnString(40)QFPay system-generated order number.
Response CoderespcdString(4)0000 = success, 1143/1145 = pending/retry with status check; others = failure. See Status Codes.
Payment URLpay_urlString(512)Redirect URL (mobile browser), or QR-code display URL (PC browser).
Always confirm final payment status on your backend (for example via asynchronous notification and/or Transaction Enquiry), especially when respcd is not 0000.

Summary

  • Suitable for mobile browser environments (not recommended for in-app browsers inside social apps).
  • Set return_url and notify_url if you need user redirection and/or backend confirmation.
  • Use pay_url to redirect users (mobile) or display a QR code (desktop).
  • If respcd is not 0000, use asynchronous notification and/or Transaction Enquiry to confirm the final result.