One-Stop Cross-Border Shopping — Shop the World
UnionPay Content & Service Platform (UCSP) for Channel Partner
UnionPay Content & Service Platform (UCSP) for Service Provider
UnionPay Transportation Solutions
Virtual cards are used for procurement settlement in the following typical scenario: OTA companies apply for commercial cards from issuers, and request virtual cards from UPI Virtual Card Control Platform. Each virtual card has its own credit limit and applicable scope, including MCC(Merchant Category), MID(Merchant ID), etc.
The Virtual Card Control Platform (VCCP) provides the virtual card request and lifecycle management service for companies, such as Online Travel Agents (OTAs) and other Virtual Card Requestors (VCRs).
1. Travel Agencies apply for commercial cards from issuers, and request virtual cards from UPI VCCP. Each virtual card has its own credit limit and applicable scope, including MCC, MID, etc.
2. The virtual card number can be flexibly obtained through various channels (such as encrypted email).
3. Acquirer submits virtual card transaction as regular card transaction.
4. Virtual card can support RMB settlement.
Field name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Filed name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
Message Response | msgResponse | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
Field name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Filed name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Message Response | msgResponse | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Field name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Filed name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Message Response | msgResponse | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Field name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Filed name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Message Response | msgResponse | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Field name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||
|
Filed name | Identifier | Type | Length | Request | Default value | Note | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Message Information | msgInfo | Object | M:Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Transaction Information | trxInfo | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Message Response | msgResponse | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Certificate and Signature | certificateSignature | Object | M:Mandatory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1. Request Virtual Card
(1)After the VCR user completes its internal authorization management procedure, and requests a virtual card, the VCR shall submit a REQUEST_VIRTUAL_CARD message to the VCCP.
(2)The VCCP checks the authenticity of the user’s login ID and the PAN, requests a Token from TSP, establishes a virtual card profile, and sends the Token of the virtual card and related information back to the VCR in the REQUEST_VIRTUAL_CARD response message.
Exceptional flows:
(1)When the VCR does not receive the REQUEST_VIRTUAL_CARD response message within 10 seconds, it can initiate a RETRIEVE_VIRTUAL_CARD message, using the Message ID of the REQUEST_VIRTUAL_CARD to check if the request of the virtual card is successful and retrieve the Token of the virtual card.
(2)The VCCP system will return the REQUEST_VIRTUAL_CARD outcome and the Token of the virtual card to the VCR.
2. Virtual Card State Management
(1)The VCR can change the Virtual Card through UPDATE_TOKEN_STATE, e.g., DELETED, ACTIVE.
(2)The VCCP checks the authenticity of the user’s login ID and changes the virtual card state in the system.
Exceptional flows:
When the VCR does not receive the UPDATE_TOKEN_STATE response message within 10 seconds, it can resend the UPDATE_TOKEN_STATE request.
3. Update Virtual Card Control Information
(1)The VCR submits a REPLACE_TOKEN_DOMAIN request to update the Virtual Card Token Domain Restriction Control, including but not limited to:
• Single Transaction Limit
• Accumulated Transaction Limit
• Maximum Times of Use
• Merchant Category Code
• List of Country/Region
• List of Merchants
• Supported Channel
• Token Expiration
If a data element, for example, the Single Transaction Limit, is not present, the VCCP will consider that the VCR has no Single Transaction Limit restriction.
(2)The VCCP replaces the new Token Domain, and responds with the updated Token Expiration Time, and new TVN2.
Exceptional flows:
When the VCR does not receive the REPLACE_TOKEN_DOMAIN response message within 10 seconds, it can resend the REPLACE_TOKEN_DOMAIN request.
4. Retrieve Virtual Card Control Information
(1)The VCR submits the RETRIEVE_TOKEN_INFORMATION to inquire the Token Domain, Current Times of Use, Amount Used, etc.
(2)The VCCP returns the Virtual Card Restriction Control information.
Exceptional flows:
When the VCR does not receive the RETRIEVE_TOKEN_INFORMATION response message within 10 seconds, it can resend the RETRIEVE_TOKEN_INFORMATION request.
Production Process
1.Issuer registers on UPI VCCP and issues primary UnionPay commercial card to OTA/Travel Agencies;
2.OTA/Travel Agencies connect with UPI VCCP through APIs, and then generate virtual card through APIs;
3.OTA/Travel Agencies send out virtual card to travel suppliers, and travel suppliers initiate transaction of virtual card.
Issuers and OTA/Travel Agencies are required to send following information to Developer@unionpayintl.com to have further assistance.
1. Company Name
2. Role (Issuer/OTA/Travel Agency)
3. Country
4. Contact Person
5. Contact Information
Response code | Description |
---|---|
00 | Approved |
01 | Please refer to the card issuer |
03 | Invalid merchant |
04 | Pending. Transaction result is unknown. Please check later |
05 | Cardholder verification fails |
12 | Invalid transaction |
13 | Invalid amount |
14 | Invalid card number |
15 | No such issuer |
21 | Card status error |
25 | Unable to locate the original transaction |
30 | Message format error |
34 | Fraud card |
40 | The transaction is not supported by the issuer |
41 | Lost card |
43 | Stolen card |
51 | Insufficient balance |
54 | Expired card |
57 | Transaction not permitted to cardholder |
61 | Exceeds approval amount limit |
62 | Restricted card |
90 | The system is in cut-off |
91 | Issuer system error |
92 | Network error |
94 | Duplicated transaction |
96 | UnionPay system error |
98 | Timeout |
A0 | Signature verification fails |