Network Tokens

Network Tokens are tokens generated through tokenization services offered by the card networks (such as Visa and Mastercard).

Network Tokens are merchant-specific token values (16 digits) generated by large card companies (e.g., Visa and Mastercard). These tokens are designed to represent and replace a shopper’s card information in various transactions where card details need to be saved. Network Tokens strengthen shopper identity, protect underlying account information, and help in combating and mitigating fraud.

Why You Should Adopt Network Tokens

Network Tokens are specifically designed for transactions within a Card-on-File business model. This includes recurring payments, one-click purchases, and other transactions where card details need to be securely stored for future use. Here are some additional benefits of using Network Tokens:

  • Increased payment security: Network Tokens are protected with a cryptogram and are merchant-specific, enhancing security.

  • Higher approval rates: Payments made with Network Tokens have higher approval rates, reducing declines due to ‘Expired Cards’ and ‘Lost/Stolen’ issues.

  • Improved shopper experience: Shoppers are kept informed about their stored card information and can request their card issuer to deactivate or delete a token.

  • Efficient Token Management: Easily manage a token’s status with the ability to deactivate (suspend) and re-activate it as needed.

  • Compliance with EMVCo Standards: Network Tokens adhere to EMVCo’s standards, requiring minimal integration effort.

Getting Started

To begin using Network Tokens, you first need to register for our Network Token Service. Contact your account manager for detailed information on how to activate the service in your account.

Using PayU’s Network Token Service

PayU provides a method for provisioning Network Tokens through our Network Token flow. This flow facilitates the provisioning of a Network Token for a specific customer card number. It’s important to note that direct communication with the card network’s tokenization service for token requests is not required. Instead, PayU handles the token provisioning on your behalf. Further details regarding the utilization of Network Tokens will be explored in subsequent sections.

It’s worth noting that you do not communicate directly with the card network’s tokenization service to request a token. Instead, we provision (request) the token on your behalf. We’ll dive into the details of using Network Tokens in the sections that follow.

The Network Token flow

The Network Token flow serves as an ‘under-the-hood’ option for provisioning Network Tokens. Activation of this flow occurs subsequent to the creation of a HUB token and request for service activation (refer to Registering for PayU’s Network Token Service).

Getting More Information about your Network Token

To retrieve additional information about the Network Token associated with the token saved in a customer object (as detailed in this step), including its status, provider_name etc., you can utilize either the Retrieve a Payment Method or the Retrieve all Payment Methods requests. Upon making these requests, you will receive the corresponding information about the Network Token in the network_token object.

The network_token object:

...
{
    "network_token": { 

      "provider_name": "visa", 
      "status": "ACTIVE", 
      "data": { 
          "created_timestamp": 1587402701891, 
          "modified_timestamp": 1587402701891, 
          "reference_id": "07baf4d3-4517-4c13-a4ac-965dd62ac5df", 
          "payment_account_reference": "429f614e-9754-45ed-9f8d-944890f6939c", 
          "additional_details": {}, 
          "network_token_bin_number": "string" 
          }, 
      "last_4_digits": "string" 
    } 
}
...

Processing Network Tokens Provisioned by PayU

Network Tokens provisioned by PayU are exclusively used for transactions involving stored card credentials. To utilize these tokens, follow the steps outlined in Reusing Card Information to store your customers' card details. During this process, a HUB token representing the user’s card information will be generated and stored. When you save that token, we will automatically request a Network Token on your behalf.

Note that Network Tokens are not returned directly to you but are securely stored by us. You simply need to pass the HUB token in the Create Authorization or Create Charge requests, and we will ensure the Network Token is used. You can verify this by checking the network_token_usage object returned in the response of the Create Authorization or Create Charge requests. Here’s an example:

...
{
  "network_token_usage": {
    "cryptogram_type": "TAVV",
    "is_used": true
  }
}
...

Processing Network Token Requested by a Third-Party Token Provider

If you prefer, you can also use a Network Token obtained from a third-party token provider or directly from the card schemes. To do so, pass a payment_method.source_type of network_token and a payment_method.type of untokenized when making a Create Authorization or Create Charge requests. In the payment_method.card_number field, pass the Network Token. Additionally, you must provide the network_token_sca_data.cryptogram value you received from the provider. Here’s an example:

...
{
"payment_method": {
    "source_type": "network_token",
    "type": "untokenized",
    "expiration_date": "22-2030",
    "card_number": "4242424242424242"
  },
"network_token_sca_data": {
  "cryptogram": "US20170163629A1"
  }
}
...

Network Token Webhook Events

If desired, you can create a webhook notification for when a Network Token is created or changes its status. To do so, follow the instructions on how to create Webhooks configurations and enable the Create or Update event for Payment Method alert.

The following is an example of the webhook body received for a Payment Method (Network Token) alert:

{
  "id": "string",
  "type": "tokenized",
  "token_type": "credit_card",
  "created": 1587402701891,
  "modified": 1587402701891,
  "holder_name": "string",
  "href": "string",
  "customer": "string",
  "additional_details": {
    "property1": "string",
    "property2": "string"
    },
  "shipping_address": {
    "country": "USA",
    "state": "TX",
    "city": "Greenville",
    "line1": "10705 Old Mill Rd",
    "line2": "11605 Young Mill Rd",
    "zip_code": "75402-3435",
    "title": "Dr.",
    "first_name": "John",
    "last_name": "Travolta",
    "phone": 13301303330,
    "email": "john.travolta@johntravolta.com"
    },
  "billing_address": {
    "country": "USA",
    "state": "TX",
    "city": "Greenville",
    "line1": "10705 Old Mill Rd",
    "line2": "11605 Young Mill Rd",
    "zip_code": "75402-3435",
    "title": "Dr.",
    "first_name": "John",
    "last_name": "Travolta",
    "phone": 13301303330,
    "email": "john.travolta@johntravolta.com"
    },
  "card": {
    "status": "ACTIVE",
    "expiration_date": "string",
    "last_4_digits": "string",
    "bin_number": "string",
    "pass_luhn_validation": true,
    "fingerprint": "string",
    "bin_details": {}
    },
  "network_token": {
    "provider_name": "visa",
    "created": 1587402701891,
    "modified": 1587402701891,
    "reference_id": "07baf4d3-4517-4c13-a4ac-965dd62ac5df",
    "payment_account_reference": "429f614e-9754-45ed-9f8d-944890f6939c",
    "expiration_date": "10/2025",
    "additional_details": {},
    "network_token_bin_number": "string",
    "last_4_digits": "string"
    }
}
Last modified June 11, 2024