Safetech tokenization
Safetech tokenization is an acquirer-level token, separate from other types of tokens in the payment industry such as network tokens (issued by the card networks) and mobile wallets that use tokens for mobile payments. Safetech tokenization replaces the consumer’s card and account information stored in your system with a value (or token).
How Safetech tokenization works
- The consumer enters their payment card information into your system.
- You send a request to tokenize the credentials using the Tokenization API.
- J.P. Morgan sends the Safetech token back to you.
- You store the token in your database for future use.
- When the consumer checks out, you send the Safetech token to J.P. Morgan.
- J.P. Morgan translates the token to a PAN.
- J.P. Morgan sends the transaction to the Payment Network with the message transport layer security (TLS)-encrypted.
- The payment network sends the transaction to the card issuer.
- The card issuer sends the authorization response back to the payment network.
- The payment network sends the authorization response to J.P. Morgan with the message TLS-encrypted.
The following is a sample request to request a Safetech token:
HTTP Method: POST
Endpoint: /acquirertoken
{
"accountInformation": {
"cardNumber": "379296848452209002",
"cardSource": "KEY_ENTERED"
}
}Response:
{
"identifier": "5bc5f837-b772-48f3-ad29-32fcdfe368ff",
"tokenInformation": {
"acquirerTokenNumber": "379296576034739002"
},
"responseStatus": "SUCCESS",
"responseCode": "ACCEPTED",
"responseMessage": "Request Accepted"
}HTTP Method: POST
Endpoint: /payments
The following is a sample request on how to use the Safetech token for a payment:
{
"amount": 1234,
"currency": "USD",
"initiatorType": "CARDHOLDER",
"accountOnFile": "TO_BE_STORED",
"merchant": {
"merchantSoftware": {
"companyName": "Shipping UAT",
"productName": "Application Name",
"version": 1.235
},
"merchantCategoryCode": 4899
},
"paymentMethodType": {
"card": {
"accountNumberType": "SAFETECH_TOKEN",
"accountNumber": 4112340803104113,
"expiry": {
"month": 5,
"year": 2022
}
}
}
}Response:
{
"transactionId": "f9b9a1ec-8842-4a07-952f-21dad4364183",
"requestId": "274ab31c-55c7-4388-a65c-83c82b20e949",
"transactionState": "CLOSED",
"responseStatus": "SUCCESS",
"responseCode": "APPROVED",
"responseMessage": "Transaction approved by Issuer",
"paymentMethodType": {
"card": {
"accountNumberType": "SAFETECH_TOKEN",
"cardType": "VI",
"cardTypeName": "VISA",
"maskedAccountNumber": "411234XXXXXX4113",
"networkResponse": {
"addressVerificationResult": "NOT_REQUESTED",
"networkTransactionId": "013291692160631",
"paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E",
"networkResponseCode": "00"
}
}
}
}Safetech token format
You can tokenize MOD 10 (Luhn) and non-MOD 10 account numbers as a standalone request or as part of a transaction using Safetech Secure Stateless Tokenization (SST2) formats. Contact your account representative or relationship manager to set up this feature.
A few things to keep in mind.
- The token format is set as transaction division by default during a one-time setup.
- It cannot be changed dynamically in the transaction message.
- If you wish to change it, contact your account representative or relationship manager.
- MOD 10 shows the computed check digit value using Luhn algorithm.
The following table shows what the SST2 formats mean:
| SST2 format | Description |
|---|---|
| NI | Numeric, Ignore |
| NP | Numeric, Preserve |
| NC | Numeric, Change |
| AI | Alphanumeric, Ignore |
The following table lists the various SST2 tokenization formats, along with examples:
PAN Digits to Preserve |
Alpha Token Indicator |
MOD 10 Checksum |
SST2 Format |
Example Token |
|---|---|---|---|---|
First 6 and Last 4 |
None |
Ignore MOD 10 |
NI64 |
5454541002111234 |
First 6 |
None |
Ignore MOD 10 |
NI60 |
5454541002112001 |
Last 4 |
None |
Ignore MOD 10 |
NI04 |
1806551002111234 |
None |
None |
Ignore MOD 10 |
NI00 |
1806551002112001 |
First 6 and Last 4 |
None |
Preserve MOD 10 |
NP64 |
545454******1234 |
First 6 |
None |
Preserve MOD 10 |
NP60 |
545454******2001 |
Last 4 |
None |
Preserve MOD 10 |
NP04 |
1806551001011234 |
None |
None |
Preserve MOD 10 |
NP00 |
1806551004312001 |
First 6 and Last 4 |
None |
Change MOD 10 |
NC64 |
545454******1234 |
First 6 |
None |
Change MOD 10 |
NC60 |
545454******2001 |
Last 4 |
None |
Change MOD 10 |
NC04 |
1806551002671234 |
None |
None |
Change MOD 10 |
NC00 |
1806551008782001 |
First 6 and Last 4 |
Alpha Token |
Ignore MOD 10 |
AI64 |
5454541wrtp11234 |
First 6 |
Alpha Token |
Ignore MOD 10 |
AI60 |
5454541wrtp12001 |
Last 4 |
Alpha Token |
Ignore MOD 10 |
AI04 |
1806551wrtp11234 |
None |
Alpha Token |
Ignore MOD 10 |
AI00 |
1806551wrtp12001 |