Last updated: 26 June 2026 | Change log
China UnionPay (also known as UnionPay) is a payment institution operating in China.
Make yourself familiar with our API principles to ensure a resilient integration.
Product overview
| Payment type | Recurring | Reversals | Partial reversals | Disputes | Auth and settlement (sale) |
|---|---|---|---|---|---|
| Local scheme | ❌ |
|
| ❌ | ✅ |
- China
- Hong Kong
- Indonesia
- Japan
- Macau
- Philippines
- Singapore
- South Korea
- Thailand
- AED
- AUD
- AZN
- BDT
- BGN
- BHD
- BND
- BRL
- CAD
- CHF
- CNY
- CZK
- DZD
- EGP
- EUR
- GBP
- GEL
- HKD
- HRK
- INR
- JOD
- JPY
- KWD
- KRW
- KZT
- LAK
- LKR
- MOP
- MRO
- MYR
- NOK
- NPR
- NZD
- OMR
- PHP
- PKR
- PLN
- QAR
- SGD
- SEK
- THB
- TND
- TRY
- TWD
- UAH
- USD
- VND
- ZAR
- GBP
- EUR
- HKD
- SGD
- USD
- Minimum transaction value: N/A
- Maximum transaction value: Card issuer/bank dependent - the amount is the customer's card limit.
The limit is 5,000 USD for restricted MCC (Merchant Category Codes). Check with your Worldpay Relationship Manager for further details.
Use our API reference and set your headers.
POST https://try.access.worldpay.com/apmPayments
Collect the APM details and send an API request with these details to create a payment.
- Test (Try)https://try.access.worldpay.com/apmPayments
- Livehttps://access.worldpay.com/apmPayments
- Payload
- curl
- Python
- Java
- Node.js
- Go
- PHP
- Ruby
- C#
{ "transactionReference": "Memory265-13/08/1876", "orderReference": "apm-order-12345", "merchant": { "entity": "default" }, "instruction": { "method": "unionpay", "narrative": { "line1": "Hack The Planet LTD" }, "value": { "amount": 12, "currency": "CNY" }, "paymentInstrument": { "type": "direct", "language": "en" }, "resultUrls": { "success": "https://worldpay.com/success", "pending": "https://worldpay.com/pending", "failure": "https://worldpay.com/failure" } } }
For Bizum transactions, please follow this extra regex [a-zA-Z0-9]{4,12}
A reference that you can apply to one or more payments according to your business needs. You may reuse the same reference across multiple payments, for example where:
- the total amount for a single order is split across multiple payments
- you use a single reference for each payment in a recurring agreement or split shipment scenario
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
- alipay_uni
- bancomat
- bancontact
- bizum
- blik
- eft
- euteller
- ideal
- klarna
- klarna_recurring
- konbini
- multibanco
- mybank
- open_banking
- paypal
- paysafecard
- pix
- przelewy
- safetypay
- satispay
- sepa
- swish
- trustly
- unionpay
- 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.
URL of the session in which customer fields can be saved via Components SDK.
Note: This field is required when making requests where the type is checkout.
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 your customer so that the 'pay faster next time' function can be used during checkout. This allows your customer's chosen bank to be stored for their next payment.
Your customer's e-mail address.
{
"paymentInstrument": {
"method": "unionpay",
"type": "direct"
},
"paymentId": "eyJrIjoiYXBtLXNlcnZpY2UtZGVmYXVsdCIsImxpbmtWZXJzaW9uIjoiNi4wLjAifQ==.BnnxxcMle38OazhwbF8J+4rtJi8CAq:Y3zUOn1dw6VWfvx:PHL5L0S+5ara5vz6ouV5yBmVUQCiSwQjs+1x5qJIJxAKWMWc2Mlb1doricEYlzsZIRIGCflvnYu1Ns8g1S0+66n6wCELiB9OHfX7cdDZM8QaH19DiFbmMAchPSTzojxnTb6gzLpYifu+gD3nPAaFT9PiiV:KsP+z2Cdr9oxuSfqYOtdVF0OwjHRCY6fWf5XZUPFYfD4fs2JzaCZKV3L7DQm7JfXl6rjXA0ubX6hJpY5kUX4Djm9+PFFKUS69z2nX5zwzYPSSVDUYtLDOZ6R0m0fuRrvkt3IoyOFqIWhKM2Ks:rlczHJ2DGe1:xPRqjBWEQYSfjhGO0ig5hWkDRl9fGV4F+Ts5DIzFBZXwnIUMyUbZMpJ0fOD9XAPga+EJnSR3UaE8kYYgR1TxL5XUxKsWCP0oxXTQ26dg1mH8uA==",
"lastEvent": "pending",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/apmPayments/eyJrIjoiYXBtLXNlcnZpY2UtZGVmYXVsdCIsImxpbmtWZXJzaW9uIjoiNi4wLjAifQ==.BnnxxcMle38OazhwbF8J+4rtJi8CAq:Y3zUOn1dw6VWfvx:PHL5L0S+5ara5vz6ouV5yBmVUQCiSwQjs+1x5qJIJxAKWMWc2Mlb1doricEYlzsZIRIGCflvnYu1Ns8g1S0+66n6wCELiB9OHfX7cdDZM8QaH19DiFbmMAchPSTzojxnTb6gzLpYifu+gD3nPAaFT9PiiV:KsP+z2Cdr9oxuSfqYOtdVF0OwjHRCY6fWf5XZUPFYfD4fs2JzaCZKV3L7DQm7JfXl6rjXA0ubX6hJpY5kUX4Djm9+PFFKUS69z2nX5zwzYPSSVDUYtLDOZ6R0m0fuRrvkt3IoyOFqIWhKM2Ks:rlczHJ2DGe1:xPRqjBWEQYSfjhGO0ig5hWkDRl9fGV4F+Ts5DIzFBZXwnIUMyUbZMpJ0fOD9XAPga+EJnSR3UaE8kYYgR1TxL5XUxKsWCP0oxXTQ26dg1mH8uA=="
}
},
"_actions": {},
"redirect": "http://secure-test.worldpay.com/redirect?tokenId=62a8645c-f481-4880-9ed8-e80d67153ae2",
"commandId": "cmdmZ4I3ZW19OhrjDrGs7vpG0"
}The identifier of the payment resource.
Links to resources related to the request.
The URL to redirect your customer to, or a QR code in Base64 to show to your customer, in order to complete the transaction.
An action ID generated by us identifying a single merchant interaction
For Pix payments - display to your customer for them to copy and paste in the Pix app.
For Swish payments - use this value as the {token} in the custom URL scheme: swish://paymentrequest?token={token}&callbackurl={callbackURL}. This will prompt the app to open, allowing your customer to complete their payment.
Check out our API reference for more responses or error codes.
Simulate payment outcomes and trigger webhooks in our Try environment by sending a request.
Upon sending a payment request, you receive the payment status pending. Follow the redirect link to our simulator where you can choose between different payment outcomes.
| Simulator outcome option | Payment status | Description |
|---|---|---|
| Pending | pending | Pending payment response. |
| Authorised | authorized | Payment authorized successfully. |
| Refused | refused | Unsuccessful payment - failure response from the provider. |
Query the payment to receive the desired payment status.
To simulate a refund, first select the "authorised" simulator outcome. The payment is automatically captured - with the status sentForSettlement. Query the payment and call the next action reversal link to receive the status sentForRefund.
Next steps