Webhook Services
Overview
Our webhook solution ensures that your system receives real-time notifications regarding specific events triggered within the NI system, based on your subscription to the different webhooks.
Card Replacement (Post)
This webbook serves to promptly inform your system whenever a card replacement occurs. This helps ensure that important card management activities are communicated accurately and on time. Card replacements are crucial in banking because they affect customer accounts, security, and transaction abilities.
Pin Action (Post)
This webbook serves to promptly inform your system whenever there are PIN-related actions performed on a card. It's important for maintaining card security, overseeing operations, and meeting regulatory requirements in finance. PIN-related actions, as of now we support reset pin counter only.
Account Transaction
Status:
Production
Version:
V2
Category:
Webhook
Overview
This API is designed to record financial transactions on account level. It accepts an account identifier as an input, along with the transaction type, amount, and currency. Once the API receives this information, it will post the transaction, which could be a debit or credit to the account balance. This feature enables businesses to charge fees, process payments, or top up prepaid accounts. The API can also be used to monitor and track transaction activity for accounting and compliance purposes.
How It Works
The API allows for processing of financial transactions by accepting inputs such as an account identifier, transaction type, amount and currency. These inputs are validated to ensure their validity, including the card or account identifier, the supported transaction type, and the correct format of the amount and currency provided.
Once the input validation is successful, the API will process the transaction and update the account balance accordingly, based on whether it is a debit or credit transaction. For instance, a credit card payment will result in a debit of the specified amount from the cardholder's account balance, while a prepaid top-up will result in a credit to the cardholder's account balance.
The API will then return a response including transaction details such as a unique transaction identifier, status, and any other relevant details. It is important to note that this API is only applicable for transactions where the card issuer or financial institution holds the account balance, and is not intended for use with external wallets or store of value.
Overview
This API is designed to record financial transactions on account level. It accepts an account identifier as an input, along with the transaction type, amount, and currency. Once the API receives this information, it will post the transaction, which could be a debit or credit to the account balance. This feature enables businesses to charge fees, process payments, or top up prepaid accounts. The API can also be used to monitor and track transaction activity for accounting and compliance purposes.
How It Works
The API allows for processing of financial transactions by accepting inputs such as an account identifier, transaction type, amount and currency. These inputs are validated to ensure their validity, including the card or account identifier, the supported transaction type, and the correct format of the amount and currency provided.
Once the input validation is successful, the API will process the transaction and update the account balance accordingly, based on whether it is a debit or credit transaction. For instance, a credit card payment will result in a debit of the specified amount from the cardholder's account balance, while a prepaid top-up will result in a credit to the cardholder's account balance.
The API will then return a response including transaction details such as a unique transaction identifier, status, and any other relevant details. It is important to note that this API is only applicable for transactions where the card issuer or financial institution holds the account balance, and is not intended for use with external wallets or store of value.
Account Transaction
Status:
Production
Version:
V2
Category:
Webhook
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_transaction | 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_ACCOUNT_TRANSACTION | |||||||
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 | card_identifier_id | string | 32 | account identifier | ||||||
account_identifier_type | string | 20 | CONTRACT_NUMBER | |||||||
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 | |||||||
rules_data | key | string | 32 | Custom Tag | ||||||
value | string | 128 | Tag value |
{
"NISrvRequest": {
"request_account_transaction": {
"header": {
"msg_id": "6546126",
"msg_type": "TRANSACTION",
"msg_function": "REQ_ACCOUNT_TRANSACTION",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"bank_id": "NIC"
},
"body": {
"card_identifier_id": "99985100130368965685",
"account_identifier_type": "CONTRACT_NUMBER",
"transaction": {
"transaction_code": "PAYCC",
"amount": "500",
"currency": "AED",
"description": "",
"billing_amount": "500",
"billing_currency": "AED",
"auth_code": "123456",
"country": "AED",
"city": "Dubai",
"counter_party_number": "500",
"transaction_ref_number": "787686809930",
"transaction_date": "2021-01-15 16:26:36.112",
"external_ref_number": "",
"rules_data": {
"key": "src_app_code",
"value": "X"
}
}
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_account_transaction | 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_ACCOUNT_TRANSACTION | |||||||
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 | card_identifier_id | string | 32 | 454545XXXXXX1234 | ||||||
card_identifier_type | string | 20 | CONTRACT_NUMBER or EXTD | |||||||
response_code | string | 3 | Return code | |||||||
status | string | 50 | Posting Status |
{
"NISrvResponse": {
"response_account_transaction": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REP_ACCOUNT_TRANSACTION",
"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": {
"card_identifier_id": "454545XXXXXX1234",
"card_identifier_type": "CONTRACT_NUMBER\/EXID",
"response_code": "000",
"status": "Waiting"
}
}
}
}
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.