UPI - UnionPay International
Intro
UPI - UnionPay International is a subsidiary of China UnionPay.
It sustains partnerships with more than 2400 institutions worldwide, enabling card acceptance in 180 countries and regions with issuance in 70 countries and regions.
UnionPay International offers high quality, cost effective and secure cross-border payment services to the world’s largest cardholder base.
Countries & currencies
Supported countries
- Ã…land Islands
- Albania
- Algeria
- American Samoa
- Andorra
- Angola
- Anguilla
- Antarctica
- Antigua and Barbuda
- Argentina
- Armenia
- Aruba
Supported currencies
- Australian dollar (AUD)
- Canadian dollar (CAD)
- Czech koruna (CZK)
- Danish krone (DKK)
- Euro (EUR)
- Hong Kong dollar (HKD)
- Hungarian forint (HUF)
- Japanese yen (JPY)
- New Zealand dollar (NZD)
- Norwegian krone (NOK)
- Polish zloty (PLN)
- Pound sterling (GBP)
Integration
We offer this payment methods for the following integration modes. Learn in our dedicated guides about their individual differences:
Find a high level overview in the "Process flows" chapter.
Depending on the integration mode, differences apply:
Hosted Checkout Page
Add the following properties to a standard CreateHostedCheckout request:
{
"HostedCheckoutSpecificInput": {
"ReturnUrl": "https://yourReturnUrl.com"
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
}
}
}
Properties | Remarks |
---|---|
hostedCheckoutSpecificInput.returnURL |
The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.
Hosted Tokenization Page
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties) after you have tokenised the card:
{
"CardPaymentMethodSpecificInput": {
"Token": "tokenId",
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
},
"Customer": {
"Device": {
"AcceptHeader":
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
Properties | Remarks |
---|---|
cardPaymentMethodSpecificInput.token |
Token: The tokenised credit card credentials you have received by tokenising the credentials/getting the token. Learn more in our dedicated Hosted Tokenization Page guide. |
cardPaymentMethodSpecificInput.threeDSecure |
returnURL: The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our HostedTokenizationAPI/ CreatePaymentAPI.
Server-to-server
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties):
{
"CardPaymentMethodSpecificInput": {
"PaymentProductId": XXX,
"SkipAuthentication": false,
"Card": {
"CardholderName": "John Doe",
"CardNumber": "0000000000000000",
"Cvv": 123,
"ExpiryDate": 1236
},
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
},
"Customer": {
"Device": {
"AcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
Properties | Remarks |
---|---|
cardPaymentMethodSpecificInput.paymentProductId cardPaymentMethodSpecificInput.card cardPaymentMethodSpecificInput.ThreeDSecure |
paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter.
returnURL: The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our CreatePaymentAPI.
Process flows
We offer this payment method for all our integration modes. Regardless of the mode you choose, the flow follows some basic steps as described below. Learn in our dedicated guides about the individual differences:
- Your customers finalise an order in your shop and select this payment method.
- You send a CreateHostedCheckout/CreatePayment request to our platform. Depending on your integration mode, differences apply. Check out the “Integration” chapter to find examples for each mode.
- Our platform sends you a response with instructions for the next steps of the flow.
- Your customers provide their credit card number and are redirected to their issuer for 3-D Secure authentication.
- Our system receives the 3-D authentication result from the issuer.
- We process the transaction and receive the result from the acquirer.
- We redirect your customer to your returnUrl
- You request the transaction result from our platform via GetPaymentDetails /GetHostedCheckout or receive the result via webhooks.
- If the transaction was successful, you can deliver the goods / service.
Testing
Refer to our Test cases for test data and detailed instructions.
Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.