This section will describe the Tokens API overview, the request and response example.

Overview

Tokenization is a secure process that Tap uses to collect sensitive card or personally identifiable information (PII) from customers. It returns a token_id representing the information collected to be used on your server.

To ensure PCI compliance, it's recommended that you use Tap's recommended payments integrations to perform the tokenization process client-side. This way, no sensitive card data is stored on your server.

If you can't use client-side tokenization, you can still create tokens using the API, but it requires either your publishable or secret API key. In this case, you are responsible for any PCI compliance required, and it's important to keep your secret API key safe.

Remember that tokens can't be stored or used more than once. To store cards for future use, you can create Customer objects and save the cards on the customer. You can then create a new token from the saved card to charge again.

Card Token

You can use the Create a Token API to pass the credit card information to create the token.

📘

It's important to note that for access to Token API, you need to submit the Merchant's PCI Compliance Certificate to Tap. You can create the token, by using our Checkout Card SDK without PCI compliance.

Encrypted Card Token

To create a token, you can pass the encrypted card information through this API. However, please note that a PCI compliance certificate is required to access this endpoint. To obtain access, please contact the Tap Support Team.

Saved Card Token

Before charging or authorizing a saved card, you must first create a token. To do so, you will need to include the card_id and customer_id in the Token API request.

Usage of Token

You can use the token_id generated from the Token API request in both the Charge or Authorize API requests. Additionally, you can save the card for future charges or authorizations by using thetoken_id in the Create Card API request.

Token Request Example

To create a token, you'll need to use the Create a Token (Card) endpoint.

{
  "card": {
    "number": 5123450000000008,
    "exp_month": 7,
    "exp_year": 2022,
    "cvc": 100,
    "name": "test user",
    "address": {
      "country": "Kuwait",
      "line1": "Salmiya, 21",
      "city": "Kuwait city",
      "street": "Salim",
      "avenue": "Gulf"
    }
  },
  "client_ip": "192.168.1.20"
}

Token Response Example

{
    "id": "tok_CWqLQ1311012WPdW527633",
    "object": "token",
    "client_ip": "192.168.1.20",
    "created": 1612876885622,
    "live_mode": false,
    "type": "CARD",
    "used": false,
    "card": {
        "id": "card_C9vyl1311012RofB527622",
        "object": "card",
        "address": {
            "country": "Kuwait",
            "city": "Kuwait city",
            "avenue": "Gulf",
            "street": "Salim",
            "line1": "Salmiya, 21"
        },
        "funding": "CREDIT",
        "fingerprint": "Q%2FcqTEPF%2FZuM7IaWN%2F7QR8kjZsJ1zzAdrmAhTXaBTOk%3D",
        "brand": "VISA",
        "scheme": "VISA",
        "exp_month": 12,
        "exp_year": 25,
        "last_four": "2393",
        "first_six": "479045",
        "name": "test user",
        "issuer": {
            "bank": "KUWAIT FINANCE HOUSE",
            "country": "KW",
            "id": ""
        }
    }
}