Last Updated: 01 October 2025 | Change Log
WeChat Pay, officially referred to as Weixin Pay in China, is a mobile payment and digital wallet service.
Make yourself familiar with our API principles to ensure a resilient integration.
Product overview
WeChat Pay is a digital wallet allowing your customers to make online or mobile wallet payments. It is considered a vital payment method if you are operating in China.
Payment type | Recurring | Reversals | Partial reversals | Disputes | Auth and settlement (sale) |
---|---|---|---|---|---|
Digital wallet | ❌ | ✅ | ✅ | ❌ | ✅ |
- Maximum transaction value: 50.000 CNY
- Maximum transaction per consumer wallet per day: 100.000 CNY
Currency | Currency codes |
---|---|
Australian Dollar | AUD |
Canadian Dollar | CAD |
Chinese Yuan | CNY |
Euro | EUR |
Hong Kong Dollar | HKD |
Japanese Yen | JPY |
New Zeland Dollar | NZD |
Pound Sterling | GBP |
US Dollar | USD |
Singapore Dollar | SGD |
Get started using our API reference and set your headers.
POST
https://try.access.worldpay.com/apmPayments
- Try
https://try.access.worldpay.com/apmPayments
- Live
https://access.worldpay.com/apmPayments
- Payload
- curl
- Python
- Java
- Node.js
- Go
- PHP
- Ruby
- C#
{ "transactionReference": "Memory265-13/08/1876", "merchant": { "entity": "default" }, "instruction": { "method": "wechatpay", "expiryIn": 10, "value": { "amount": 250, "currency": "CNY" }, "narrative": { "line1": "MindPalace" }, "paymentInstrument": { "type": "direct" } } }
Used to route the request in Access Worldpay, created as part of on-boarding.
Object that contains the payment type and details.
Type of payment method
- ach
- alipay_cn
- alipay_hk
- bancontact
- blik
- eft
- euteller
- ideal
- klarna
- konbini
- multibanco
- mybank
- open_banking
- oxxo
- paypal
- paysafecard
- pix
- przelewy
- sepa
- safetypay
- trustly
- wechatpay
The value of the payment.
The amount in the lowest denomination of the currency e.g. pennies for GBP, cents for USD.
The supported ISO 4217 currency codes.
The description shown on your customer's bank statement for the payment.
The type of instrument.
Account type.
Account number of direct debit account.
Routing number of direct debit account.
Check number of the direct debit account.
Company name if a corporate account.
City.
The supported ISO 3166-1 alpha-2 country codes.
Postal code.
State code of the billing address in ISO 3166-2 format.
Your customer's first name.
Your customer's last name.
Your unique reference for the customer so that the 'pay faster next time' function can be used during checkout. This allows the shoppers chosen bank to be stored for their next payment.
The customer's e-mail address.
- an HTTP code 201
- a
paymentId
which is unique to the payment - we recommend storing the "id", as you can use it to manage the payment later - a QR Code in Base64 format to display to your customer to complete the payment
- a link to query the payment status
- an object which will give flow information such as
method
(e.g.wechatpay
) and type (direct
) - a
commandId
generated by us identifying a single merchant interaction (e.g.cmdYNdIHBPJwbkjLiykzTx0
)
All requests return the same encoded QR code, allowing you to test the synchronous response and the embedding of the QR code image within your checkout page.
Following a short delay test payments will automatically update to authorize once you receive the successful payment response.
{
"paymentId": "HZ75WBkfRwmD9YzLSZFnQ5v2I5ddQFtUqfQjfH6MtZWlDSUrxrcX5x_wn93uYUZBrpxTgfQTxtQsmy9dE_z-m-zZvrP-LeCRz0uWrqdvJK9lFEMgr042IFWuXU4qz5JB5ruD3eXP8P1s6nqEcRq5d-NwnkVtXPzEhC9FQ_77m3c",
"lastEvent": "pending",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ5v2I5ddQFtUqfQjfH6MtZWlDSUrxrcX5x_wn93uYUZBrpxTgfQTxtQsmy9dE_z-m-zZvrP-LeCRz0uWrqdvJK9lFEMgr042IFWuXU4qz5JB5ruD3eXP8P1s6nqEcRq5d-NwnkVtXPzEhC9FQ_77m3c"
}
},
"_actions": {},
"redirect": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQAAAAB0CZXLAAABdklEQVR4Xu2VS27DMAxE6ZWP4ZvG1E19DK3EzpBKgrhAu+2gGjiCTD0vJvzI4hfZPXDXAkoLKC2gtIDSvwLcoCN6PnGdne+bGtDw68fYAw+AjVgGtYBuCDYYpEeadTtEAXh02My9OoDyO0WBYMmlwWwZ7CsoBTjDR+uvJzE1oNSycWzH+pYQgALz9NXS8qPGshqAluHRDo+BZIEfn40jAXi2fI2vwTnGqtvUgLFfeB1MGbN2svamtAAzWjvTZjJ6QDB+PTJlgyTWj2RJAKPu9NzgtGUR6gGZHTg95yi+6lQLcDRO5wRuT8svRggIvrLk4NFyCETmTgtonUGn2bm52ZQABg1OLJPFtakBjcwxR7Gl9s//QQEoOXKECTaHGFctwGlsZqoFC4+rGkBHGUS/WBp0kmpAt40Ag3AK11t9JQgE70ScHjOiCdAdzD7J7zb/OhBZcmR4m9As7xQxwA1CyXGIOYfw/VqUAH7QAkoLKC2gtIDSAkpfsu6k9bsX4o0AAAAASUVORK5CYII=",
"paymentInstrument": {
"method": "wechatpay",
"type": "direct"
},
"commandId": "cmdEy5vwB0krLe9eMwAcE66c0"
}
Check out our API reference for the full error code schema.
Next steps