UnionPay is currently in a limited release to eligible merchants. It is only available for our iOS v4, Android v3, Android v2, and JavaScript v3 SDKs.

Contact us to request access to the release.

Creating transactions

You will receive a payment method nonce when your client successfully tokenizes your customer's payment information. Pass this nonce to your server and create a transaction.

Collect device data from the client and include the device_data_from_the_client in the transaction.

result = gateway.transaction.sale({
    "amount": "10.00",
    "payment_method_nonce": nonce_from_the_client,
    "device_data": device_data_from_the_client,
    "options": {
        "submit_for_settlement": True

if result.is_success:
  # See result.transaction for details
  # Handle errors

Delayed settlement

If the UnionPay card is not a debit card, you can choose to submit the transaction for settlement separately. This can be helpful if you have a delayed order fulfillment process and prefer to wait to settle the transaction until you're ready to provide your goods or services.

For details on this transaction flow, see the Transaction.submit-for-settlement() reference.

Next Page: Testing →