Skip to content

Last updated: 17 September 2026 | Change log

China UnionPay

China UnionPay (also known as UnionPay) is a payment institution operating in China.

Note

Make yourself familiar with our API principles to ensure a resilient integration.

Product overview

Feature summary

Payment typeRecurringReversalsPartial reversalsDisputesAuth and settlement (sale)
Local scheme❌
  • Refund - yes
  • Cancel - no
  • Partial refund - yes
  • Partial cancel - no
❌✅

Acceptance countries

  • China
  • Hong Kong
  • Indonesia
  • Japan
  • Macau
  • Philippines
  • Singapore
  • South Korea
  • Thailand

Acceptance currencies

  • 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

Settlement currencies

  • 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.

Get started

Use our API reference and set your headers.


Request

POST https://try.access.worldpay.com/apmPayments

Example requests

Collect the APM details and send an API request with these details to create a payment.

{ "transactionReference": "Memory265-13/08/1876", "orderReference": "apm-order-12345", "merchant": { "entity": "default" }, "instruction": { "method": "ach", "narrative": { "line1": "MindPalace" }, "value": { "amount": 750, "currency": "USD" }, "paymentInstrument": { "type": "direct", "accountType": "checking", "accountNumber": "01234567890123456", "routingNumber": "012345678", "checkNumber": "012345678901234", "companyName": "Worldpay", "billingAddress": { "address1": "8500 Governors Hill Drive", "address2": "Symmes Township", "postalCode": "45249", "city": "Ohio", "state": "US-OH", "countryCode": "US" } }, "customer": { "firstName": "John", "lastName": "Johnson", "customerId": "43424", "email": "john@example.com" } } }

Parameters

transactionReferencestring, [ 1 .. 64 ] characters^[a-zA-Z0-9\-_/!@#$%()*=.:;?\[\]{}~+]*$required

For Bizum transactions, please follow this extra regex [a-zA-Z0-9]{4,12}

orderReferencestring, [ 1 .. 64 ] characters^[a-zA-Z0-9\-_/!@#$%()*=.:;?\[\]{}~+]*$

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
merchantobject(MerchantV2)required
instructionobject(InstructionV2)required

Response

Example response

{
  "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"
}

Schema

paymentIdstring

The identifier of the payment resource.

lastEventstring
Enum:"authorized""cancelFailed""cancelled""cancelRequested""sentForSettlement""sentForAuthorization""settlementFailed""chargebackReversed""chargedBack""disputeExpired"
_linksobject(Links)

Links to resources related to the request.

_actionsobject(ActionsV2)
redirectstring

The URL to redirect your customer to, or a QR code in Base64 to show to your customer, in order to complete the transaction.

commandIdstring

An action ID generated by us, identifying a single merchant interaction.

Example:"cmdYNdIHBPJwbkjLiykzTx0"
paymentInstrumentAll others (object) or PayPal (object) or SEPA DD (object) or Klarna (recurring) token (object)(PaymentInstrument)
One of:

Payment instrument for: ACH, Alipay China, Alipay Hong Kong, Alipay Plus, BANCOMAT Pay, Bancontact, Bizum, BLIK, EFT, Euteller, iDEAL guest, iDEAL recurring, Klarna, Klarna (recurring), Konbini, Multibanco, MyBank, Open Banking, PaysafeCard, Pix, Przelewy24, SafetyPay, Satispay, Swish, Trustly, China UnionPay, WeChat Pay.

transactionCodestring

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.

Example:"IZQ3iUfePwiWiwldJlipl8NGVA7w5IUg"

Errors

Check out our API reference for more responses or error codes.

Simulation

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 optionPayment statusDescription
PendingpendingPending payment response.
AuthorisedauthorizedPayment authorized successfully.
RefusedrefusedUnsuccessful 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

Manage your China UnionPay payment