Card Services
Overview
Our card services support multiple card types, including Visa, MasterCard, American Express, and Discover, as well as other popular payment methods like Apple Pay and Google Pay. You can also set up recurring payments for your customers, making it easy for them to make regular payments without having to enter their card information every time.Our advanced fraud detection and prevention features use machine learning algorithms to help identify and prevent fraudulent transactions. We also provide detailed reporting and analytics, allowing you to track and analyze payment data and make data-driven decisions.
We also offer multi-currency support, which allows you to accept payments from customers in different parts of the world. And with our 24/7 customer support, you can always count on us to help you resolve any issues related to our card services.Our card services are also fully compliant with all local and international regulations, such as PCI DSS, so you can be confident that you're accepting payments in a secure and compliant manner.
Card Replacement (Post)
This webbook serves to promptly inform your system whenever a card replacement occurs. This helps ensure that important card management activities are communicated accurately and on time. Card replacements are crucial in banking because they affect customer accounts, security, and transaction abilities.
Pin Action (Post)
This webbook serves to promptly inform your system whenever there are PIN-related actions performed on a card. It's important for maintaining card security, overseeing operations, and meeting regulatory requirements in finance. PIN-related actions, as of now we support reset pin counter only.
Lookup Card Identifier
Status:
Production
Version:
V2
Category:
Card Services
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
Category:
Card Services
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 |
How It Works
Follow the steps below. For more details, read the Quick Start Guide.
1- 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.
2- 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.
3- 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.
4- 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.
5- 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.