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.
Account Hierarchy Enquiry
Status:
Production
Version:
V2
Category:
Card Services
Overview
Account Hierarchy allows businesses to efficiently manage and navigate complex account structures. Businesses can leverage the Account Hierarchy API to access detailed information about account relationships, such as parent-child connections or multi-level hierarchies. By integrating this API into their applications or systems, businesses can streamline account management processes, improve data visibility, and enhance decision-making capabilities.
Overall, the Account Hierarchy API serves as a fundamental tool for businesses seeking to effectively manage their account structures and optimize operational efficiency.
How It Works
The Account Hierarchy API is accessed by sending a request that specifies either a top-level account or a sub-account. The purpose of this request is to retrieve information about the current account level and its child levels within the hierarchy.
When making the request, you have the option to specify the depth or level of detail you want to receive in the response. For instance, if your account hierarchy has multiple levels (let's say 5 levels) starting from a top account (denoted as X), and you are interested in obtaining information about the top level (X), Level 1 (L1), and Level 2 (L2) only, you can indicate this in your request by using the "level_down" parameter.
By setting the "level_down" parameter appropriately in your API request (e.g., specifying "level_down": 2), you can instruct the Account Hierarchy API to provide information up to the specified depth (in this case, up to Level 2) in the response. This allows you to control and limit the amount of hierarchical data returned based on your specific needs or use case.
Overview
Account Hierarchy allows businesses to efficiently manage and navigate complex account structures. Businesses can leverage the Account Hierarchy API to access detailed information about account relationships, such as parent-child connections or multi-level hierarchies. By integrating this API into their applications or systems, businesses can streamline account management processes, improve data visibility, and enhance decision-making capabilities.
Overall, the Account Hierarchy API serves as a fundamental tool for businesses seeking to effectively manage their account structures and optimize operational efficiency.
How It Works
The Account Hierarchy API is accessed by sending a request that specifies either a top-level account or a sub-account. The purpose of this request is to retrieve information about the current account level and its child levels within the hierarchy.
When making the request, you have the option to specify the depth or level of detail you want to receive in the response. For instance, if your account hierarchy has multiple levels (let's say 5 levels) starting from a top account (denoted as X), and you are interested in obtaining information about the top level (X), Level 1 (L1), and Level 2 (L2) only, you can indicate this in your request by using the "level_down" parameter.
By setting the "level_down" parameter appropriately in your API request (e.g., specifying "level_down": 2), you can instruct the Account Hierarchy API to provide information up to the specified depth (in this case, up to Level 2) in the response. This allows you to control and limit the amount of hierarchical data returned based on your specific needs or use case.
Account Hierarchy Enquiry
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_account_hierarchy | 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 | 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 “REQ_ACCOUNT_HIERARCHY_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 | 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 | 30 | Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00 | |||||||
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 | customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | ||||||
account_identifier_id | string | 32 | Account Identifer ID should be passed if customer_id is not sent as part of the request | |||||||
account_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 | |||||||
level_down | string | 1 | It is applicable for corporate hierarchy value can be from 1 to 5 | |||||||
client_type | string | 10 | It is applicable for corporate hierarchy - Values: Commercial → C Private → P | |||||||
balance_list | string | 512 | The values can be - AVAILABLE,BLOCKED,TOTAL_BALANCE |
{
"NISrvRequest": {
"request_account_hierarchy": {
"header": {
"msg_id": "236001",
"msg_type": "ENQUIRY",
"msg_function": "REQ_ACCOUNT_HIERARCHY_ENQUIRY",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"bank_id": "NIC"
},
"body": {
"customer_id": "100000027",
"account_identifier_id": "652589",
"account_identifier_type": "EXID",
"level_down": "1",
"client_type": "C",
"balance_list": "AVAILABLE"
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_account_hierarchy | 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 | 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_ACCOUNT_HIERARCHY_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 | 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 | 30 | Timestamp of the response - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00 | |||||||
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 | accounts | account_number | string | 64 | Account number | |||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
rbs_number | string | 512 | RBS Number which is the number used to link NI System with Core System | |||||||
product_code | string | 32 | This code is generated by CMS after creating the product. This code is FI specific code. | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount | |||||||
sub_accounts | account_number | string | 64 | Account number | ||||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
rbs_number | string | 512 | RBS Number which is the number used to link NI System with Core System | |||||||
product_code | string | 32 | Product Code | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount | |||||||
sub_accounts | account_number | string | 64 | Account number | ||||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
rbs_number | string | 512 | RBS Number which is the number used to link NI System with Core System | |||||||
product_code | string | 32 | Product Code | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount | |||||||
sub_accounts | account_number | string | 64 | Account number | ||||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
rbs_number | string | 512 | RBS Number which is the number used to link NI System with Core System | |||||||
product_code | string | 32 | Product code, this code is generated by CMS after creating the product, this code is FI spesific code 982_AED_045_C_2 is just used as an example in Sandbox | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount | |||||||
sub_accounts | account_number | string | 64 | Account number | ||||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
rbs_number | string | 512 | RBS Number which is the number used to link NI System with Core System | |||||||
product_code | string | 32 | Product code, this code is generated by CMS after creating the product, this code is FI spesific code 982_AED_045_C_2 is just used as an example in Sandbox | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount | |||||||
sub_accounts | account_number | string | 64 | Account number | ||||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
rbs_number | string | 512 | RBS Number which is the number used to link NI System with Core System | |||||||
product_code | string | 32 | Product code, this code is generated by CMS after creating the product, this code is FI spesific code 982_AED_045_C_2 is just used as an example in Sandbox | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount | |||||||
cards | masked_card_number | string | 16 | Masked PAN | ||||||
customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | |||||||
card_identifier_id | string | 32 | Card Identifier Id | |||||||
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_expiry_date | string | 4 | Cards expiry date the Format is YYMM | |||||||
cardholder_name | string | 21 | Cardholders name | |||||||
product_code | string | 32 | Product code, this code is generated by CMS after creating the product, this code is FI spesific code 982_AED_002_A is just used as an example in Sandbox | |||||||
product_name | string | 32 | Product Name | |||||||
brand | string | 10 | Card Brand example: MC , Visa | |||||||
card_virtual_indicator | string | 1 | V - Virtual P - Physical | |||||||
statuses | type | string | 10 | Status type | ||||||
value | string | 10 | Status value | |||||||
changed_date | string | 10 | Date of status change | |||||||
description | string | 100 | Brief description | |||||||
balances | type | string | 32 | Type of the balance | ||||||
currency | string | 3 | Currency | |||||||
amount | string | 20 | Balance ammount |
{
"NISrvResponse": {
"response_account_hierarchy": {
"header": {
"msg_id": "236001",
"msg_type": "ENQUIRY",
"msg_function": "REP_ACCOUNT_HIERARCHY_ENQUIRY",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"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": {
"accounts": {
"account_number": "0009821110000000008",
"customer_id": "100000027",
"rbs_number": "1",
"product_code": "982_AED_045_C_2",
"balances": {
"type": "",
"currency": "AED",
"amount": ""
},
"sub_accounts": {
"account_number": "0009821110000000008",
"customer_id": "7876790",
"rbs_number": "1",
"product_code": "982_AED_045_C_2",
"balances": {
"type": "",
"currency": "AED",
"amount": ""
},
"sub_accounts": {
"account_number": "0009821110000000008",
"customer_id": "7876790",
"rbs_number": "1",
"product_code": "982_AED_045_C_2",
"balances": {
"type": "",
"currency": "AED",
"amount": ""
},
"sub_accounts": {
"account_number": "0009821110000000008",
"customer_id": "7876790",
"rbs_number": "1",
"product_code": "982_AED_045_C_2",
"balances": {
"type": "",
"currency": "AED",
"amount": ""
},
"sub_accounts": {
"account_number": "0009821110000000008",
"customer_id": "7876790",
"rbs_number": "1",
"product_code": "982_AED_045_C_2",
"balances": {
"type": "",
"currency": "AED",
"amount": ""
},
"sub_accounts": {
"account_number": "0009821110000000008",
"customer_id": "7876790",
"rbs_number": "1",
"product_code": "982_AED_045_C_2",
"balances": {
"type": "",
"currency": "AED",
"amount": ""
},
"cards": {
"masked_card_number": "999851XXXXXX8349",
"customer_id": "100000027",
"card_identifier_id": "99985101161390700708",
"card_identifier_type": "EXID",
"card_expiry_date": "0528",
"cardholder_name": "JOHN DOE",
"product_code": "982_AED_002_A",
"product_name": "",
"brand": "VISA",
"card_virtual_indicator": "V",
"statuses": {
"type": "BCC-CARD-982",
"value": "_",
"changed_date": "",
"description": "SPACE"
},
"balances": {
"type": "",
"currency": "AED",
"amount": ""
}
}
}
}
}
}
}
}
}
}
}
}
Node | Child Node | Type | Length | Description | ||
---|---|---|---|---|---|---|
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.