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.
P2P Transfer
Status:
Production
Version:
V2
Product:
Prepaid Solutions
Overview
The P2P Transfer API facilitates the movement of funds from a source (either an account or a card) to a target (either an account or a card). This operation involves debiting the specified "source identifier" and crediting the designated "target identifier" with the requested amount, all within the same financial institution (FI).
The transfer scenarios covered include:
- From a Card identifier to another Card identifier
- From a Card identifier to an Account identifier
- From an Account identifier to a Card identifier
- From an Account identifier to another Account identifier
This API is particularly useful for transferring funds within a corporate product hierarchy, enabling transfers between various levels such as from a company to a department. It also facilitates transfers between two distinct private accounts or cards.
How It Works
The P2P Transfer API functions by providing the source and target IDs in the transfer request, along with the specified amount. This initiates the transfer of funds from the source ID to the target ID.
P2P Transfer
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 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvRequest | request_P2P_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 | Static Value - REQ_P2P_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 | source_identifier_id | string | 32 | source identifier | ||||||
source_identifier_type | string | 20 | CONTRACT_NUMBER or EXID | |||||||
target_identifier_id | string | 32 | target identifier | |||||||
target_identifier_type | string | 20 | CONTRACT_NUMBER or EXID | |||||||
transaction | transaction_code | string | 32 | Transaction code For Payment- PAYCC For Reversal- PAYACC-REV For Debit- DEBITCC For Debit Reversal- DEBITCC-REV | ||||||
amount | string | 20 | Amount | |||||||
currency | string | 3 | Currency | |||||||
description | string | 255 | Transaction description | |||||||
billing_amount | string | 20 | Billing Amount | |||||||
billing_currency | string | 3 | Billing Currency | |||||||
auth_code | string | 6 | Auth Code | |||||||
country | string | 3 | Country | |||||||
city | string | 200 | City | |||||||
counter_party_number | string | 20 | Source Number | |||||||
transaction_ref_number | string | 12 | Transaction reference number | |||||||
transaction_date | string | 19 | Date of transactions | |||||||
external_ref_number | string | 12 | Reference number | |||||||
transfer_network | string | 40 | Network | |||||||
rules_data | key | string | 32 | Custom Tag | ||||||
value | string | 128 | Tag value |
{
"NISrvRequest": {
"request_p_2_p_transfer": {
"header": {
"msg_id": "6546126",
"msg_type": "TRANSACTION",
"msg_function": "REQ_P2P_TRANSFER",
"src_application": "BNK",
"target_application": "w4ksa04",
"timestamp": "2023-03-09T12:03:01.609+04:00",
"tracking_id": "Rq_p2ptfr7",
"bank_id": "PRMBK"
},
"body": {
"source_identifier_type": "EXID",
"source_identifier_id": "0003666048844670682",
"target_identifier_type": "EXID",
"target_identifier_id": "0003666048844670840",
"transaction": {
"transaction_code": "PT-NQ-OP-P2P",
"transaction_date": "2021-01-15 16:26:36.112",
"amount": "1000.00",
"currency": "SAR",
"billing_amount": "1000.00",
"billing_currency": "USD",
"description": "account Payment",
"transaction_ref_number": "7811841231",
"auth_code": "123456",
"country": "UAE",
"city": "Dubai",
"external_ref_number": "",
"transfer_network": "fi/hierarchy/network_code",
"rules_data": [
{
"key": "src_app_code",
"value": "X"
},
{
"key": "ext_user_id",
"value": "Y"
}
]
}
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_P2P_transfer | header | msg_id | string | 12 | Unique Source Message ID eg ada123456fdsf | ||||
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 | Default REP_P2P_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 | 15 | 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 | tranCode | string | 3 | The transaction code. 101 for auth; 102 for advice; 108 for profile maturation | ||||||
source | string | 10 | Name of source application. | |||||||
dest | string | 20 | Name of destination application. | |||||||
extendedHeader | string | 10 | Extended header. | |||||||
response_record_version | string | 1 | The response_record_version specifies the version of the scoring response layout. | |||||||
score_count | string | 2 | The number of scores in the response message and has values from 0 to 8. | |||||||
decision_count | string | 2 | The number of decisions in the response message and has values from 0 to 10. | |||||||
scoring_server_id | string | 4 | unique identifier for the Scoring Server host. | |||||||
warning | string | 50 | warning | |||||||
decisions | decision_type | string | 32 | Stores the decision type of a type/code pair created by Falcon Rule Expert functions that generate type/code pairs | ||||||
decision_code | string | 32 | Stores the decision code of a type/code | |||||||
scores | score | string | 4 | the score returned from the model | ||||||
error_code | string | 4 | This is the error code generated by the model during its processing of the transaction to generate a score. A value of 0 or blank indicates no error. | |||||||
segment_ID | string | 8 | This field contains the segment ID of the score in the score_1 field | |||||||
score_name | string | 22 | Identifier for the score. | |||||||
reason_1 | string | 4 | Reason the score was generated | |||||||
reason_2 | string | 4 | Reason the score was generated | |||||||
reason_3 | string | 4 | Reason the score was generated |
{
"NISrvResponse": {
"response_P2P_transfer": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REP_P2P_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"
},
"body": {
"tranCode": "999",
"source": "",
"dest": "",
"extendedHeader": "",
"response_record_version": "",
"score_count": "",
"decision_count": "",
"scoring_server_id": "",
"warning": "",
"decisions": {
"decision_type": "",
"decision_code": ""
},
"scores": {
"score": "9999",
"error_code": "",
"segment_ID": "",
"score_name": "",
"reason_1": "",
"reason_2": "",
"reason_3": ""
}
}
}
}
}
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 |