Credit Solutions
Overview
Prepaid card services in NI allow users to access and use prepaid cards in the payment processing system. Prepaid cards are a type of payment card that are loaded with a specific amount of funds, which can be used to make purchases or withdraw cash at locations that accept the card.Users of prepaid card services in a payment processing company can typically:
Activate prepaid cards
Users can activate prepaid cards when they are first issued or after they have been deactivated for any reason.
Check card balances
Users can check the balance on a prepaid card in real-time or on a scheduled basis.
View transaction history
Users can view a detailed record of all transactions made with a prepaid card, including the date, time, amount, and location of each transaction.
Reload cards
Users can add funds to a prepaid card, either by transferring money from another account or by purchasing a reload card.
Resolve disputes
Users can access a process for resolving disputes or issues that may arise with prepaid card transactions.
Protect against fraud
Users can access measures to detect and prevent fraudulent activity on prepaid cards, such as monitoring for suspicious activity or requiring additional authentication for certain transactions.
Manage card accounts
Users can view and manage their prepaid card accounts, including the ability to set spending limits, view transaction history, and update personal information.
Lookup Card Identifier
Status:
Production
Version:
V2
Product:
Debit Solutions
Lookup Card Identifier
Overview
Our API provides a solution for obtaining alternative identifiers for a given card identifier. It is one of the key APIs that enables our customers to avoid maintaining card numbers in their own system, thus reducing their PCI-DSS scope. By using this API, customers can dynamically retrieve clear or encrypted PAN by using our tokenized card identifier. This allows them to avoid the strict guidelines of PCI-DSS while still being able to perform transactions securely. To utilize this feature, the card identifier must be provided as an input to the API. The API then uses this input to query the card records and returns a response containing the requested identifier in a structured format.
Stay Out of PCI-DSS Scope:
PCI-DSS is a set of security standards that aim to ensure that companies that accept, process, store or transmit credit card information maintain a secure environment. By using this feature, the system allows the financial institution to avoid the need to store any card numbers on their system, reducing their PCI-DSS scope. This eliminates the need to store card numbers on the system, providing an added layer of security. This feature allows the financial institution to dynamically resolve our non-sensitive tokenized card identifier (EXID) whenever the card number is required.
Secured Card PAN Exchange:
The API uses security measures such as tokenization and encryption to protect sensitive card information and comply with PCI-DSS.
How It Works
This API is designed to securely exchange card PANs (personal account number) by using a randomly generated token called EXID (external ID) instead. The EXID is a non-sensitive identifier that is 20 characters long and made up of various elements such as the BIN (8 digits) of the card, a system identifier (1 digit), 10 random numbers and a Luhn digit check.
This API allows for both retrieving the Card PAN using the EXID, or the EXID using the Card PAN. Additionally, this API also supports end-to-end encryption for the Card PAN if desired. To enable this, the request must include a Public Key in the form of a Base64 encoded X509 certificate, which is used to encrypt the PAN before it is sent.
This ensures that the PAN can only be decrypted by the private key owned by the requester. This API allows for secured transport of sensitive data and can help customers stay out of PCI-DSS scope as they don't need to store any card numbers on their own system.
Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
Lookup Card Identifier
Status:
Production
Version:
V2
Product:
Debit Solutions
Node | Child Node | Type | Length | Description |
---|---|---|---|---|
Authorization | Bearer xxxx | string | Authorization Header (Bearer Token) | |
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvRequest | request_lookup_card_identifier | header | msg_id | string | 12 | Message ID, this field should be unique id for each Api call. This will be generated from client side. If the same message ID is used the system will decline the API call with Error Description “Duplicate Message ID” | ||||
msg_type | string | 12 | Request Type | |||||||
msg_function | string | 50 | Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY” | |||||||
src_application | string | 10 | Source Application: This is a free Text and the client can populate the source system from where the API is Initiated Example: IVR, IB, MB No Validations of these are kept at Network Systems | |||||||
target_application | string | 10 | Target application name Ex CMS | |||||||
timestamp | string | 30 | Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00 | |||||||
tracking_id | string | 15 | Transaction Tracking Id | |||||||
bank_id | string | 4 | Bank Id is Unique Id 4 digit code for each client and the same will be provided once the client setup is completed in our core system. For sandbox testing – Please use “NIC” | |||||||
body | card_identifier_id | string | 32 | Card Identifier | ||||||
card_identifier_type | string | 20 | CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS | |||||||
public_key | string | 500 | X.509 Certificate encapsulating a Public Key to be used to encrypt the clear card number |
{
"NISrvRequest": {
"request_lookup_card_identifier": {
"header": {
"msg_id": "236001",
"msg_type": "ENQUIRY",
"msg_function": "REQ_LOOKUP_CARD_IDENTIFIER",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"tracking_id": "236001",
"bank_id": "NIC"
},
"body": {
"card_identifier_id": "99984100111514120000",
"card_identifier_type": "EXID",
"public_key": "947DFE575D5DAFD68A57414C46CDF039AFA"
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_lookup_card_identifier | header | msg_id | string | 12 | Unique Source Message ID eg ada123456fdsf | ||||
msg_type | string | 12 | Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY” | |||||||
msg_function | string | 50 | Message functions: Should be “REP_LOOKUP_CARD_IDENTIFIER” | |||||||
src_application | string | 10 | Source Application: This is a free Text and the client can populate the source system from where the API is Initiated Example: IVR, IB, MB No Validations of these are kept at Network Systems | |||||||
target_application | string | 10 | The target_application can hold any value from FI side, this can be used by FI to check the target system of the API call | |||||||
timestamp | string | 15 | Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00 | |||||||
tracking_id | string | 15 | Transaction Tracking Id | |||||||
bank_id | string | 4 | Bank Id is Unique Id 4 digit code for each client and the same will be provided once the client setup is completed in our core system. For sandbox testing – Please use “NIC” | |||||||
exception_details | application_name | string | 20 | Application Name | ||||||
date_time | string | 30 | Timestamp of the response Format “YYYY-MM-DD HH:MM:SS” | |||||||
status | string | 1 | Status of the request (S/F) | |||||||
error_code | string | 4 | EAI Internal Error Code (Check error codes section for the complete list of error codes and error code descriptions) | |||||||
error_description | string | 100 | Error Description (Check error codes section for the complete list of error codes and error code descriptions) | |||||||
transaction_ref_id | string | 20 | The tracking_id sent in the request will be sent back in response in this field. | |||||||
body | card_identifier_type | string | 20 | CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS | ||||||
card_identifier_id | string | 32 | EXID |
{
"NISrvResponse": {
"response_lookup_card_identifier": {
"header": {
"msg_id": "236001",
"msg_type": "ENQUIRY",
"msg_function": "REP_LOOKUP_CARD_IDENTIFIER",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T06:49:02.366Z",
"tracking_id": "236001",
"bank_id": "NIC"
},
"exception_details": {
"application_name": "TCC-ADP",
"date_time": "2023-02-01T16:39:47.314+04:00",
"status": "S",
"error_code": "000",
"error_description": "Success",
"transaction_ref_id": "236001"
},
"body": {
"card_identifier_type": "EXID",
"card_identifier_id": "454545XXXXXX1234"
}
}
}
}
Code | Description |
---|---|
200 | Sample Description |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
502 | Bad gateway |
503 | Scheduled Maintenance |
504 | Gateway Timeout |
596 | Service Not Found |