Prepaid Solutions
Overview
With our prepaid solution, you can extend prepaid products to customers without constraints such as credit rating, income, or bank account ownership. The solution includes issuer, branch, corporate, or cardholder web-based portals, enabling effortless sales, maintenance, load, and card or customer lifecycle management. These features empower non-banked customers to manage their finances like seasoned professionals, making financial management more accessible and straightforward.
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.
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.
Account Create
Status:
Production
Version:
V2
Product:
Prepaid Solutions
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
Product:
Prepaid 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 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
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 |