Skip to main content
Online QR Process

Overview

WeChat QR Code payment allows customers to use WeChat’s Scan feature to scan a QR code generated by the merchant system and complete payment.

Typical flow

  • Merchant generates a payment QR code
  • Customer scans using WeChat
  • WeChat performs security verification
  • Payment completes in the wallet

Common scenarios

  • Desktop checkout pages
  • POS display screens
  • Self-service kiosks

Real-name Verification (Optional)

Real-name verification is currently available only for Mainland China citizens.
If enabled, the merchant must submit:
  • payer’s legal name
  • Chinese national ID number
Rules:
  • Wallet information must match provided identity data
  • Payment still succeeds if the customer has not linked a bank card
  • Enforcement depends on merchant configuration

Create Payment Request

HTTP Request

  • Method: POST
  • Endpoint: /trade/v1/payment
  • PayType: 800201 (WeChat QR Payment)

Sample Code

All examples follow the same logic. Choose the language matching your backend.

API Response

On success, the API returns a QR code URL.
Render the qrcode value into an image for customers to scan.
{
  "respcd": "0000",
  "resperr": "success",
  "qrcode": "weixin://wxpay/bizpayurl?pr=ABC123",
  "syssn": "20260101000100020012345678",
  "out_trade_no": "ORDER123456"
}

Request Parameters

ParameterRequiredDescription
txamtYesAmount in cents
txcurrcdYesCurrency code
pay_typeYesMust be 800201
out_trade_noYesUnique order ID
txdtmYesTimestamp
expired_timeNoQR expiry (5–120 min)
goods_nameNoProduct name
mchidNoRequired for agent setups
extend_infoNoReal-name verification data

Response Fields

FieldDescription
qrcodeQR code URL
respcd0000 = success
resperrstatus message
syssnQFPay transaction ID
out_trade_nomerchant order ID
If respcd = 1143 or 1145, the transaction is pending.
Call the Transaction Enquiry API to confirm final status.

Summary

  • Designed for desktop & POS QR display
  • Convert returned qrcode to a scannable image
  • Real-name verification is optional
  • Always implement order enquiry fallback