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 Update
Status:
Production
Version:
V2
Product:
Prepaid Solutions
Account Update
Overview
This API allows for the updating of an existing account for a specific client, and this account will be linked to a specific product.
Automated account updation
This API allows for automatic updating of account numbers, making the account updation process faster and more efficient.
Product-specific accounts
This API allows for the updating of accounts that are linked to specific products, enabling the tracking of account activity and balances for specific products.
Client association
This API allows for the association of a new account with a specific client, making it easier to track account activity and balances for a particular client.
How It Works
This API allows for the updating of an existing account for a specific client. It will take the client identifier as an input, which can be in the form of a unique ID or any other client identifier that is used in the system. The API will then use this identifier to update the account under the specific client. The account number can be passed as an input as part of this API.
A mandatory input for this API is the product code, which is used to identify the product that the account will be linked to. The product code will be used to retrieve all the related parameters, such as the account type, transaction limits, features, and services associated with the product.
Once all the necessary inputs are provided, the API will update the existing account and link it to the client and the specific product. The account will be activated and the client will be able to access the account and manage their transactions and balances.
For Multi-currency products, when creating new wallets, you have two options:
- Option 1: Send the key
CN-WALLET_LIST_ADD
undercustom_fields
with the value as a list of the desired wallets (e.g.,'USD, LBP'
). - Option 2: Send the key
CN-WALLET_LIST
undercustom_fields
, including the already existing wallets in the list (e.g.,'AED, USD, LBP'
). With this option, the order of the currencies will determine the wallet priority.
If you only need to update the priority of the wallets, you can use the CN-WALLET_LIST
option.
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.
Account Update
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_UPDATE” | |||||||
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 | account_number | string | 64 | Account 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 | ||||||
branch_code | string | 10 | Branch Code, if no branches are used, the code must be same as bank_code | |||||||
account_number | string | 64 | Account number (This can not be updated) | |||||||
custom_fields | key | string | 20 | Custom Tag. Ex: CN-RBS_NUMBER | ||||||
value | string | 128 | Tag value. Ex: 9998881110000000 |
{
"NISrvRequest": {
"request_account_update": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REQ_ACCOUNT_UPDATE",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"bank_id": "NIC"
},
"body": {
"account_number": "0009821110000000008",
"card_type": "CREDIT",
"account": {
"customer_id": "100000027",
"branch_code": "982",
"account_number": "0009821110000000008",
"custom_fields": [
{
"key": "CN-RBS_NUMBER",
"value": "9998881110000000"
}
]
}
}
}
}
}
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_UPDATE” | |||||||
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: CN-RBS_NUMBER | ||||||
value | string | 128 | Tag value. Ex: 9998881110000000 |
{
"NISrvResponse": {
"response_account_update": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REP_ACCOUNT_UPDATE",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2024-02-15T15:35:10.923+04:00",
"bank_id": "NIC"
},
"exception_details": {
"application_name": "TCC-ADP",
"date_time": "2024-02-15T15:35:10.923+04:00",
"status": "S",
"error_code": "000",
"error_description": "Success"
},
"body": {
"account_number": "0009821110000000008",
"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": "Last First"
},
{
"key": "CN-CREDIT_LIMIT_AM",
"value": "0"
},
{
"key": "CN-CRLIM_MAX_IGNORE_PE",
"value": "N"
},
{
"key": "CN-DATE_OPEN",
"value": "2024-02-04"
},
{
"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-RBS_NUMBER",
"value": "9998881110000000"
},
{
"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 |