Account Services
Overview
Our account-related APIs are a powerful set of APIs that provide businesses with a flexible and scalable way to manage their customers' accounts. These APIs enable businesses to streamline their account management process, making it easier for them to create, update, and manage customer accounts, while also providing a seamless and personalized customer experience.
One of the key features of our account-related APIs is the account creation functionality. With this API, businesses can easily create new customer accounts, while also ensuring that each account is unique and identifiable. This can be done by including customer-specific information, such as their name, email address, and contact information, as part of the account creation process.
Another important functionality of our account-related APIs is account updation. This API enables businesses to update existing customer accounts with new information, such as changes to their contact information, billing information, or account preferences. By using this API, businesses can ensure that customer account information is always up-to-date and accurate, helping to improve the overall customer experience.
In addition to these functionalities, our account-related APIs also include account listing functionality. This API provides a way for businesses to retrieve a list of all customer accounts or a subset of customer accounts based on specific criteria. This can be useful for businesses that need to segment their customers based on certain attributes, such as geographic location, account type, or other demographic factors.
Overall, our account-related APIs provide businesses with a comprehensive set of tools for managing customer accounts, enabling them to provide a seamless and personalized customer experience, while also improving their operational efficiency and scalability.
Accounts List (Post)
The List of Accounts API is a useful tool for payment processing companies that offer a range of financial products, such as credit cards, debit cards, and bank accounts. This API allows customers to easily view a list of all their accounts with the payment processing company, providing a convenient way to manage their finances and keep track of their spending.
Customer Details (Post)
A customer details enquiry API allows a payment processing company to retrieve information about a customer's account. This could be used, for example, by a merchant to get information about a customer's billing address or by a customer service representative to verify account details.
Account Create
Status:
Production
Version:
V2
Category:
Account Services
Account Create
Overview
The Account Create API allows for the creation of new customer accounts. Parameters include customer ID, card type, branch code, product code, currency, and custom fields. These custom fields allow for the addition of unique information, such as contract numbers. Once the parameters are set, the API executes the creation of the new account and returns a response indicating the success or failure of the process.
Easy Customer Onboarding
Streamline the process of creating new accounts with the ability to assign a unique customer ID and customizable product code.
Multi-Currency Support
Enable account creation in various currencies, such as SAR, AED, and USD.
Custom Field Options
Offer flexibility with custom fields for additional account details, such as contract ID or other relevant information.
How It Works
The Account Create API enables the creation of new accounts for customers using specific parameters such as customer ID, card type, branch code, product code, currency, and custom fields. Once the parameters are set, the API executes the creation of the account and returns a response indicating the success or failure of the account creation. The API helps to automate the process of account creation, making it faster and more efficient for businesses. It also ensures that the created account meets the specified parameters, reducing the risk of errors and inconsistencies.
To create multi-currency top wallet you will need to provide the related product code, and you will have the option to list the needed wallet currencies, this can be achieved by sending key CN-WALLET_LIST under custom_fields and the list of currencies as a value comma separated string example: AED,USD.
Account Create
Status:
Production
Version:
V2
Category:
Account 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 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
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 “TRANSACTION” | |||||||
msg_function | string | 50 | Message functions: Should be “REQ_ACCOUNT_CREATE” | |||||||
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 | ||||||
card_type | string | 7 | Informative value to the request, does not have any functional impact, the value can be PREPAID/CREDIT/DEBIT | |||||||
account | customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | ||||||
account_number | string | 64 | Account number, if not provided CMS will generate it | |||||||
parent_account_number | string | 64 | Parent account number - Applicable only for Corporate products | |||||||
branch_code | string | 10 | Branch Code, if no branches are used, the code must be same as bank_code | |||||||
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 | |||||||
billing_day | string | 10 | Billing date, applicable only for credit card products | |||||||
currency | string | 3 | Informative value to the request, does not have any functional impact, the currency will be taken from the product | |||||||
limit | type | string | 32 | Credit limit type - applicable only for credit card products | ||||||
currency | string | 3 | Credit limit currency - applicable only for credit card products | |||||||
value | string | 20 | Credit limit value - applicable only for credit card products | |||||||
custom_fields | key | string | 20 | Custom Tag. Ex: contract_idt_scheme | ||||||
value | string | 128 | Tag value. Ex: CONTRACT_NUMBER |
{
"NISrvRequest": {
"request_account_create": {
"header": {
"msg_id": "920197",
"msg_type": "TRANSACTION",
"msg_function": "REQ_ACCOUNT_CREATE",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"bank_id": "NIC"
},
"body": {
"customer_id": "100000027",
"card_type": "CREDIT",
"account": {
"customer_id": "100000027",
"branch_code": "982",
"product_code": "982_AED_042_A",
"currency": "AED",
"limit": {
"type": "FIN_LIMIT",
"value": "55000"
},
"custom_fields": [
{
"key": "contract_idt_scheme",
"value": "CONTRACT_NUMBER"
}
]
}
}
}
}
}
Node | Child Node | Type | Length | Description | |||
---|---|---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
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 “TRANSACTION” | |||||||
msg_function | string | 50 | Message functions: Should be “REP_ACCOUNT_CREATE” | |||||||
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 | account_number | string | 64 | Account number | ||||||
custom_fields | key | string | 20 | Custom Tag. Ex: contract_idt_scheme | ||||||
value | string | 128 | Tag value. Ex: CONTRACT_NUMBER |
{
"NISrvResponse": {
"response_account_create": {
"header": {
"msg_id": "920197",
"msg_type": "TRANSACTION",
"msg_function": "REP_ACCOUNT_CREATE",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2024-02-15T15:30:56.589+04:00",
"bank_id": "NIC"
},
"exception_details": {
"application_name": "TCC-ADP",
"date_time": "2024-02-15T15:30:56.589+04:00",
"status": "S",
"error_code": "000",
"error_description": "Success"
},
"body": {
"account_number": "0009821110000000055",
"custom_fields": [
{
"key": "CN-AECB_STATUS_TYPE",
"value": "_"
},
{
"key": "CN-AMF_WAIVER_A",
"value": "N"
},
{
"key": "CN-BC_A1",
"value": "_"
},
{
"key": "CN-BC_A2",
"value": "_"
},
{
"key": "CN-CARD_TARIFF",
"value": "PCT_003"
},
{
"key": "CN-CONTRACT_NAME",
"value": "Robert James"
},
{
"key": "CN-CREDIT_LIMIT_AM",
"value": "55000"
},
{
"key": "CN-CRLIM_MAX_IGNORE_PE",
"value": "N"
},
{
"key": "CN-DATE_OPEN",
"value": "2025-01-01"
},
{
"key": "CN-DD_DAY",
"value": "0"
},
{
"key": "CN-DD_ENROLMENT",
"value": "N"
},
{
"key": "CN-DD_PCNT",
"value": "0"
},
{
"key": "CN-INS_ENROLMENT-01",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-02",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-03",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-04",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-05",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-06",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-07",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-08",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-09",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-10",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-11",
"value": "_"
},
{
"key": "CN-INS_ENROLMENT-12",
"value": "_"
},
{
"key": "CN-INTEREST_WAIVER",
"value": "N"
},
{
"key": "CN-LPF_WAIVER",
"value": "N"
},
{
"key": "CN-LTY_ACCR_WAIVER",
"value": "Y"
},
{
"key": "CN-LTY_ENROLMENT",
"value": "N"
},
{
"key": "CN-MMF_WAIVER_A",
"value": "N"
},
{
"key": "CN-MTP_FLAG",
"value": "N"
},
{
"key": "CN-OVL_WAIVER",
"value": "N"
},
{
"key": "CN-SAV_ACC_AM",
"value": "0"
},
{
"key": "CN-SCORE_LIMIT",
"value": "0"
},
{
"key": "CN-SCORE_LIMIT_APPR",
"value": "0"
},
{
"key": "CN-SCORE_VAL",
"value": "0"
},
{
"key": "CN-SEC_CH_AM",
"value": "0"
},
{
"key": "CN-SMS_ENROLMENT",
"value": "Y"
},
{
"key": "CN-STMT_FEE_WAIVE_PERS",
"value": "N"
},
{
"key": "CN-STMT_FLAG_PE",
"value": "B"
},
{
"key": "CN-TEMP_CREDIT_LIMIT_AM",
"value": "0"
}
]
}
}
}
}
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.