Debit Solutions
Overview
Our one-stop, centralised solution for Debit Card processing is designed to provide you with a seamless and secure payment experience. Whether you are a small business or a large enterprise, our solution is cost-effective, easily configurable and scalable to meet your specific needs.
With our Debit Card processing solution, you can easily accept payments from your customers and enjoy faster access to your funds. Our platform supports all major debit card networks, so you can accept payments from customers regardless of their bank.
Activate Debit cards
Users can activate debit 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 debit card in real-time or on a scheduled basis.
View transaction history
Users can view a detailed record of all transactions made with a debit card, including the date, time, amount, and location of each transaction.
Reload cards
Users can add funds to a debit 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 debit card transactions.
Protect against fraud
Users can access measures to detect and prevent fraudulent activity on debit cards, such as monitoring for suspicious activity or requiring additional authentication for certain transactions.
Manage card accounts
Users can view and manage their debit card accounts, including the ability to set spending limits, view transaction history, and update personal information.
Account Transfer
Status:
Production
Version:
V2
Product:
Credit Solutions
Overview
This API will allow a cardholder to request a product transfer upgrade or downgrade from one product to another. The key elements are account identifier and new product code for the request to be processed.
Additional optional tags for card production also available:
1. preemb: Indicator to mark the cards as Pre-Embossed (Mandatory for Virtual Cards)
2. sde: mark the cards as same day embossing
3. set_pin: Indicator to allow set new PIN
4. fee: Indicator for the Fee to be applied
5. cards_virtual_indicator: sending this key as V means all the cards will be replaced as virtual cards.
Note: if none of the above tags were provided in the request, the default parameters defined on the product will be processed.
How It Works
This API accepts an account identifier, along with a new product code, and optionally, a PCT code. Operating asynchronously, it provides an acknowledgment once the request is received. The actual processing happens in the background through a scheduler. After processing, you'll receive a notification to update you on the status of the account transfer. Account transfer status webhook details are available under
Account Transfer Status Webhook
This approach prevents timeouts and enables the backend to manage transfers efficiently without disrupting the user experience in real-time.
Account Transfer
Status:
Production
Version:
V2
Product:
Credit 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 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvRequest | request_account_transfer | 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_TRANSFER” | |||||||
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_identifier_id | string | 32 | Account number | ||||||
account_identifier_type | string | 20 | CONTRACT_NUMBER | |||||||
new_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 | |||||||
new_pct | string | 7 | Pricing Control Tables | |||||||
request_details | src_app_code | string | 32 | Client Additional info | ||||||
src_app_name | string | 64 | Client Additional info | |||||||
ext_user_id | string | 32 | Client Additional info | |||||||
custom_fields | key | string | 32 | Custom Tag e.g. preemb- Indicator for Pre-Emboss (Mandatory for Virtual Cards). Default N sde- Indicator for Same Day Embossing. Default N set_pin- Indicator to Set new PIN. Default N fee- Indicator for Fee to be applied. Default Y cards_virtual_indicator- The only supported value is V.V- All cards will be replaced as virtual. if V was used preemb must be =Y. | ||||||
value | string | 128 | Custom Tag value |
{
"NISrvRequest": {
"request_account_transfer": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REQ_ACCOUNT_TRANSFER",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"bank_id": "NIC"
},
"body": {
"account_identifier_id": "0009821110000000008",
"account_identifier_type": "CONTRACT_NUMBER",
"new_product_code": "982_AED_042_A",
"new_pct": "PCT_001",
"request_details": {
"src_app_code": "SRC_APP_CODE",
"src_app_name": "Source Application Name",
"ext_user_id": "u123"
},
"custom_fields": [
[
{
"key": "preemb",
"value": "N"
},
{
"key": "sde",
"value": "N"
},
{
"key": "set_pin",
"value": "N"
},
{
"key": "fee",
"value": "Y"
},
{
"key": "cards_virtual_indicator",
"value": "V"
}
]
]
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_account_transfer | 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_TRANSFER” | |||||||
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. |
{
"NISrvResponse": {
"response_account_transfer": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REP_ACCOUNT_TRANSFER",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T06:49:02.366Z",
"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"
}
}
}
}
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 |