Creating a Token
You can create tokens directly from the validator or through your back office system.
When the customer taps their card, the validator generates a unique transaction
identifier that is used to create these tokens:
- Transient token: tokenized EMV tag data and track2 data. Used as the transaction ID to create the instrument identifier and payment instrument tokens, and as the payment token for the final authorization and sale transactions. You can delete this token after a success transit payment for the travel period.Visa Acceptance Solutionsstores this token for 7 days.
- Instrument identifier: tokenized card number, used for follow-on payment transactions and BIN lookup.
- Payment instrument: stores the card hash that is used to identify the payment card in the deny list.
Refer to
Visa Acceptance Solutions
documentation regarding card-present data encryption and BDK
provisioning. This diagram shows the process for creating a token.
The token creation process begins when the when the cardholder taps a payment card at the
fare collection terminal.
- The cardholder taps their card.
- Regular local transit processing occurs. See Mass Transit Transaction Workflows.
- The validator encrypts the card data and creates the card hash value.
- Your system uses the card hash value to create the tokens.
- You receive the tokens in the response message.
Endpoint
Test:
POST
https://apitest.visaacceptance.com
/tms/v2/tapsProduction:
POST
https://api.visaacceptance.com
/tms/v2/tapsRequired Fields for Creating a Token Using the REST API
- id
- Transient token identifier assigned by the contactless terminal.
- paymentInformation.card.hash
- paymentInformation.fluidData.descriptor
- paymentInformation.fluidData.encoding
- paymentInformation.fluidData.value
- pointOfSaleInformation.deviceId
- processingInformation.industryDataType
- Set this field totransit.
Example: Create a Token Using the REST API
Request
{ "id": "a76392f4-cde4-97aa-1111-0252ac14c005", "paymentInformation": { "card": { "hash": "7400A4154369E584BA36CA19B50AAA3F9AE9764B3E87B2B93CF8FBC11112" }, "fluidData": { "descriptor": "4649443D454D562E5041594D454E542E415049", "encoding": "Hex", "value": "DFEE120A8888885140001840000357189141DC75F996D2E930B9ADABE73 5CBE80ECF17A263E94964F07A0000000031010500b4379626572736F7572 63655F2D02456E5F3401015F360102820220008407A00000000310109505 00000000009A032101199C01009F02060000000004009F03060000000000 009F030200019F1006A1B2C3D4E5F69F1A0208409F21031301255F2A0208 409F26080123456789ABCDEF9F2701409F33030000009F360200019F3501 259F3704123456789F390100" } }, "pointOfSaleInformation": { "deviceId": "FF123457" }, "processingInformation": { "industryDataType": "transit" } }
Response 202
No body response