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 Solutions
    stores 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.

Figure:

Creating a Token
The token creation process begins when the when the cardholder taps a payment card at the fare collection terminal.
  1. The cardholder taps their card.
  2. Regular local transit processing occurs. See Mass Transit Transaction Workflows.
  3. The validator encrypts the card data and creates the card hash value.
  4. Your system uses the card hash value to create the tokens.
  5. You receive the tokens in the response message.

Endpoint

Test:
POST
https://apitest.visaacceptance.com
/tms/v2/taps
Production:
POST
https://api.visaacceptance.com
/tms/v2/taps

Required 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 to
transit
.
Creating a Token

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
Creating a Token