UnionPay dominates the card market in China, accounting for around 98% of market share.1 UnionPay cards are often co-branded with Visa or Mastercard, enabling international payments for travelers.
When your customer makes a payment with a card supporting both UnionPay and another card brand, you may choose how to route the payment request (e.g. to the card brand that offers the lower cost of acceptance). Begin by determining the brands supported on your customer's card, and then direct the transaction to your preferred card brand.
Use our Card BIN API to determine the brands supported by any card. If the card is co-branded then the API response will contain multiple values under the brand array.
Test card 5200830000006400 returns UnionPay and Mastercard in the response:
{
"type": "pan",
"brand": [
"mastercard",
"unionPay"
],
"bin": "520083",
"binLength": 6,
"issuerName": "AGRICULTURAL BANK OF CHINA LIM",
"countryCode": "CN",
"currency": "USD",
"dccAllowed": true,
"anonymousPrepaid": "unknown",
"category": "consumer",
"fundingType": "credit",
"flexibleCredential": {
"participating": false
},
"productId": "MCG",
"productSubType": "MCG",
"panLength": 16
}Route your transaction to UnionPay using an entity reference that is set up to only process UnionPay. Alternatively, speak with your Implementation Manager (IM) or Customer Success Manager (CSM) to configure UnionPay as the default brand for your entity reference.
3DS is not mandated in China, but for UnionPay cards issued elsewhere local rules apply (e.g., Strong Customer Authentication (SCA) applies as usual in UK/EEA).
Use our Payments API to authenticate your customer and authorize payment.
Alternatively, use our modular 3DS API to authenticate your customer and pass the data returned in the successful authentication outcome in your customer initiated transactions.
Use the test values documented below to test various authentication outcomes:
UnionPay ExpressPay does not support SCA exemptions.
Note: UnionPay does not support zero value payments. You may send a nominal amount with our Card Verifications API. In this case, the transaction appears on your cardholder's statement but is automatically cancelled by our Card Verifications API, meaning that no charge is made.
Submit CITs using either:
- Payments API
- Modular Card Payments API
UnionPay does not support schemeReference. You should therefore not supply this field in MIT requests.
We do not support incremental authorizations for UnionPay ExpressPay.
You may submit a single settlement request for either the full or a partial amount. Multiple partial settlement requests are not permitted.
1 Worldpay's Global Payment Report, 2026