Debit Solutions
Overview
Our one-stop, centralised solution for Debit Card processing is designed to provide you with a seamless and secure payment experience. Whether you are a small business or a large enterprise, our solution is cost-effective, easily configurable and scalable to meet your specific needs.
With our Debit Card processing solution, you can easily accept payments from your customers and enjoy faster access to your funds. Our platform supports all major debit card networks, so you can accept payments from customers regardless of their bank.
Activate Debit cards
Users can activate debit 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 debit card in real-time or on a scheduled basis.
View transaction history
Users can view a detailed record of all transactions made with a debit card, including the date, time, amount, and location of each transaction.
Reload cards
Users can add funds to a debit 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 debit card transactions.
Protect against fraud
Users can access measures to detect and prevent fraudulent activity on debit cards, such as monitoring for suspicious activity or requiring additional authentication for certain transactions.
Manage card accounts
Users can view and manage their debit card accounts, including the ability to set spending limits, view transaction history, and update personal information.
Lookup Card Identifier
Status:
Production
Version:
V2
Product:
Credit 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:
Credit 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 |