Network Tokens
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.
Enterprise-platform Tokens vs. Network Tokens
Similar to Enterprise-platform Tokens, Network Tokens allow payments to be processed without exposing the shopper’s card details. Note that the adoption of Network Tokens does not affect your payment processing (e.g., authorization, clearing, settlement, and exception processing), but is added on top of the regular tokenization process. Learn more about how to collect customer card information.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.
More on Tokenization
We assume you are already familiar with the procedures for collecting and tokenizing a user’s card information. If not, we recommend you to explore this topic before reading on.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 Enterprise-platform 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 Enterprise-platform 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 Enterprise-platform 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"
}
}