Card Tokenization

Card Tokenization is typically used when you have repeat customers and you would like to save the customer’s credit card details. By Tokenizing the card data, it eliminates the need to store that sensitive card data on your servers. By associating the card token to the customer in your system, any subsequent sale for that customer can use the card token (therefore eliminating the need to ask the customer for their card information).

With credit card tokenization, the customer's primary account number (PAN) is replaced with a series of randomly generated numbers, referred to as “tokens.” You will submit a sale request via API and we will return a token to you so that in the future, you can submit the credit card token rather than the consumer’s credit card details should you need to submit a sale for that same credit card.

Technical Implementation

Send the first sale as normal with the consumer’s card data in the Sale request (within the Card object)

},
   "Card":{
      "CardNumber":"4716317307520473",
      "CardHolderName":"John Doe",
      "Cvv2":"999",
      "ExpirationDate":"1912",
      "Customer":{
         "FirstName":"John",
         "LastName":"Doe",
         "Phone":"9177563007",
         "City":"New York",
         "State":"NY",
         "Country":"US",
         "Email":"[email protected]",
         "Address1":"107 7th Av.",
         "Address2":"",
         "Zip":"10007",
         "DateOfBirth":"1990-12-07",
         "DriverLicenseNumber":"12345678",
         "DriverLicenseState":"TX",
         "SSN4":"1210"
      }

We will return the GUID in the Sale response within the card object. Note: this also works when calling the Verify route.

🚧

There are a handful of GUIDs in the Sales response. But the GUID that represents the card token is the GUID returned in the card object.

},
   "card":{
      "first4":"4716",
      "last4":"0473",
      "cardNumber":"CARD NOT TOKENIZED",
      "cardHolderName":"John Doe",
      "cardType":"Visa",
      "expirationDate":"2019-12",
      "guid":"360dd501-4ad5-4ce3-b501-82b756e8d068",
      "customer":{
         "guid":"3bd93697-005a-4723-a7f8-f892577ee2bf",
         "firstName":"John",
         "lastName":"Doe",
         "dateOfBirth":"1990-12-07T00:00:00",
         "address1":"107 7th Av.",
         "address2":"",
         "zip":"10007",
         "city":"New York",
         "state":"NY",
         "country":"US",
         "phone":"9177563007",
         "email":"[email protected]",
         "ssN4":"1210",
         "driverLicenseNumber":"12345678",
         "driverLicenseState":"TX"
      }

In future sale requests (of any type) for this consumer you just need to include the Card.guid in your request.

},
   "Card":{
      "guid":"360dd501-4ad5-4ce3-b501-82b756e8d068",
      "Customer":{
         "FirstName":"John",
         "LastName":"Doe",
         "Phone":"9177563007",
         "City":"New York",
         "State":"NY",
         "Country":"US",
         "Email":"[email protected]",
         "Address1":"107 7th Av.",
         "Address2":"",
         "Zip":"10007",
         "DateOfBirth":"1990-12-07",
         "DriverLicenseNumber":"12345678",
         "DriverLicenseState":"TX",
         "SSN4":"1210"
      }

The response to this request will return the same information that any other Sale request would return:

"card":{
      "first4":"4716",
      "last4":"0473",
      "cardNumber":"CARD NOT TOKENIZED",
      "cardHolderName":"John Doe",
      "cardType":"Visa",
      "expirationDate":"2019-12",
      "guid":"360dd501-4ad5-4ce3-b501-82b756e8d068",
      "customer":{
         "guid":"3bd93697-005a-4723-a7f8-f892577ee2bf",
         "firstName":"John",
         "lastName":"Doe",
         "dateOfBirth":"1990-12-07T00:00:00",
         "address1":"107 7th Av.",
         "address2":"",
         "zip":"10007",
         "city":"New York",
         "state":"NY",
         "country":"US",
         "phone":"9177563007",
         "email":"[email protected]",
         "ssN4":"1210",
         "driverLicenseNumber":"12345678",
         "driverLicenseState":"TX"
      }

FAQs

Can I tokenize a card without actually processing a sale?

Yes, the best thing to do is call the Verify route (which will process a $0 sale and verify the card is actually good) and then save the card GUID from the Verify response.


Did this page help you?