Checkout form

Dual-branded cards

Dual-branded cards include both the UnionPay logo and another card brand logo – such as Visa, Mastercard, or American Express – and can be processed through either brand's network. If your business is based outside of China, card network rules around dual-branded UnionPay cards dictate that your customers must be able to select which card brand they want their transaction to process through at checkout.

To maintain compliance with this rule, make sure to include an option in your checkout form for customers to select UnionPay as their card brand. You should only process UnionPay cards directly via the UnionPay network if the customer specifies that they want the card processed this way. Otherwise, dual-branded cards should be processed via the other card brand network.

Card capabilities

UnionPay cards can either be credit or debit. This capability determines what information you will need to collect in your checkout form, as well as your options for processing the transaction on your server:

Credit cards

Require CVV and expiration date

Support both immediate and delayed settlement – you can either submit the transaction for settlement upon creation or make a separate submit for settlement call

Debit cards

Do not always require CVV or expiration date

Support only immediate settlement

Setup

If you are using CocoaPods, add the following to your Podfile:

Ruby

Copy

Copied

pod 'Braintree/UnionPay', '~> 4.3.0'

If you are using Carthage, update your Cartfile:

Ruby

Copy

Copied

github 'braintree/braintree_ios' ~> 4.3.0

Next, run carthage update and add BraintreeUnionPay.framework to your app.

Enrollment and tokenization

UnionPay cards require enrollment before they can be tokenized. The enrollment process may require customer action, where UnionPay sends an authorization code via SMS to the customer's mobile phone number. Your integration then collects the SMS auth code from the customer and provides it to us to tokenize the card.

If the enrollment indicates that the SMS code is not required, you can tokenize it immediately.

note

When an enrollment is completed for a UnionPay card, you will no longer be able to update the card number, expiration date, expiration month, or expiration year.

Validating UnionPay is performed during the enrollment process. As such, there is no extra validation process that can be performed during tokenization and the validate property should not be passed when tokenizing a UnionPay card.

Special considerations

AVS and CVV validation does not apply

AVS and CVV validation does not apply to UnionPay cards, since the enrollment process handles card validation. Any AVS and CVV rules you've enabled for credit cards will be ignored for UnionPay cards.