5.6 UNIONPAY

UnionPay SecurePay is a secure and simple payment method provided by UnionPay International, designed to meet the payment needs of cardholders in various e-commerce scenarios. Through UnionPay SecurePay, users can securely complete payments using bank card information, electronic banking, or QR codes. This payment method supports various e-commerce scenarios, including purchasing goods, booking hotels and tickets, paying bills, etc.

The UnionPay QR Code Payment Product is a low cost, convenient and secure mobile payment service for both cardholders and merchants and is based on EMVCo QR Code technical specification to ensure global interoperability and capability of aggregation. The UnionPay QR Code offers both merchant-present mode either static or dynamic, where cardholders use their mobile wallet app to scan the merchant’s QR Code to initiate payment, and consumer-present mode, where merchants use their cashier device (POS, merchant app, scanner etc.) to scan the cardholders payment QR code to initiate payment.

ScenarioCategoryPayment methodPayment productIntegration typeAuthenticationRedirect TypeCode TypePre-authPartial RefundCancellation supported
ONLINEEwalletUNIONPAYSECURE_PAYAPI,-In-web-YESYESYES
OFFLINEEwalletUNIONPAYORDER_CODEAPI, POS--Order code-YESYES
OFFLINEEwalletUNIONPAYPAYMENT_CODEAPI, POS--Payment code-YESYES
ONLINEEwalletUNIONPAYSTATIC_QREMVCO_QR--Static code-YESYES

Payment ProductDescription
SECURE_PAYUnionpay payment product. This payment product will redirect user to an web,consumer can input unionpay card informtion or use QuickPass app to scan the QR code displayed in the web to complete the payment
ORDER_CODEMerchant-Presented Mode Payment product. One code value can only be used for one transaction. For example, the order code displayed on the merchant's terminal screen or printed on the cashier's receipt. After the user scans the code, the user usually does not need to enter the transaction amount to initiate the payment.
PAYMENT_CODEUser-Presented Mode Payment product. The merchant uses a code scanning device to scan the payment code in QuickPass app and complete the deduction.
STATIC_QRMerchant-Presented Mode Payment product. With the STATIC_QR Payment product, users can scan the STATIC_QR generated by the merchant and enter the payment amount to complete the payment. Merchants do not need to apply an updated QR code or purchase any equipment for collecting payment if merchants join the UPAS network..

Experience and integration process

Capabilities

APIs

Description

Initiate a payment

PAY

Initiate a Pre-authorization payment

PAY

Pre-authorization completion

preAuthComplete

Cancel pre-authorization/ Cancel the payment

CANCEL

Only a full cancellation is allowed.
For the pre-authorization, it can be cancelled when When it is not completed.
For the code payment, cancellation period: Before 23:59:59 within the payment date.

Refund a payment

REFUND

Inquiry transaction result

DETAIL

Notify transaction result

NOTIFACATION

Initiate a payment/Pre-authorization payment

Field

Description

Required

paymentMethod

Must be "UNIONPAY"

M

product

For SecurePay, it must be "SECURE_PAY";
For ordercode, it must be "ORDER_CODE";
For paymentcode, it must be "PAYMENT_CODE";
STATIC_QR is only used in the EMVCO_QR;

M

authorizeType

In a Pre-authorization payment, it must be "Preauth"

C

payCodeValue

It's required when the product is "PAYMENT_CODE"

C

expireAt

The format is "yyyy-MM-dd hh:mm:ss", and it must be less than 72 hours after the payment request is sent.

M

RiskData.source

It's required when the payment method is "UNIONPAY". Transaction source: web app wap

M

Handle the payment result

To complete the payment:

  • SECURE_PAY
    1. Redirect shopper(payAction, "type": "REDIRECT", "Url" ) to open the online payment page. You should decode the Base64 string into a html code, that can be openned in shopper's browser.
    2. Use the data.status from the PAY response to present the payment result to your shopper. You can also wait the NOTIFICATION or submit a DETAIL request for the payment result
  • ORDER_CODE
    1. Present the QR code image(payAction, "type": "QRCODE", "redirectUrl" ) to the shopper for scanning.
    2. After the shopper completes the payment, wait the NOTIFICATION or submit a DETAIL request for the payment result.
  • PAYMENT_CODE
    1. Use the data.status from the PAY response to present the payment result to your shopper. You can also wait the NOTIFICATION or submit a DETAIL request for the payment result.
  • STATIC_QR
    1. After the shopper completes the payment, wait the NOTIFICATION for the payment result.