marcopolo Online payment
Sign up

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.

Overview

Payment group:
Payment product id:
56
Key benefits
  • Real time authorisation
  • Secure payments
  • Fast settlement cycle
  • International acceptance

Boarding

We will be happy to help you get started.

Contact us

Countries & currencies

Supported countries

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)
  • Singapore dollar (SGD)
  • South African rand (ZAR)
  • Swedish krona/kronor (SEK)
  • Swiss franc (CHF)
  • Thai baht (THB)
  • Turkish lira (TRY)
  • United Arab Emirates dirham (AED)
  • United States dollar (USD)

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
     currencyCode

amount: The gross amount you want to charge for this order
currencyCode: The ISO 4217 currency code for this amount

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 
     redirectionData.returnURL
     skipAuthentication

returnURL: The URL we redirect your customers to after the payment has been finalised
skipAuthentication: Indicate whether to roll out 3-D Secure for this order

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order
currencyCode: The ISO 4217 currency code for this amount

customer.device
     acceptHeader
     locale
     timezoneOffsetUtcMinutes
     userAgent
     browserdata
          colorDepth
          javaScriptEnabled
          screenHeight
          screenWidth

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
     cardholderName
     cardNumber
     cvv
     expiryDate

cardPaymentMethodSpecificInput.ThreeDSecure
     redirectionData.returnURL
     skipAuthentication

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter


cardPaymentMethodSpecificInput.card: The credentials of the card used for the payment
Make sure to fulfill the necessary PCI DSS requirements for sending sensitive data

returnURL: The URL we redirect your customers to after the payment has been finalised
skipAuthentication: Indicate whether to roll out 3-D Secure for this order

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order
currencyCode: The ISO 4217 currency code for this amount

customer.device
     acceptHeader
     locale
     timezoneOffsetUtcMinutes
     userAgent
     browserdata
          colorDepth
          javaScriptEnabled
          screenHeight
          screenWidth

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

  1. Your customers finalise an order in your shop and select this payment method
  2. 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
  3. Our platform sends you a response with instructions for the next steps of the flow
  4. Your customers provide their credit card number and are redirected to their issuer for 3-D Secure authentication
  5. Our system receives the 3-D authentication result from the issuer
  6. We process the transaction and receive the result from the acquirer
  7. We redirect your customer to your returnUrl
  8. You request the transaction result from our platform via GetPayment or receive the result via webhooks
  9. 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

Was this page helpful?

Do you have any comments?

Thank you for your response.