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.

Version

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.

/AccountServices/Transaction/V2/AccountTransaction

Account Transaction

Status:

Production

Version:

V2

Category:

Webhook
/AccountServices/Transaction/V2/AccountTransaction
curl --location --request POST '#{PARAM_URL}' --header 'Authorization: Bearer {{ access_token }}' {custom_headers} --data-raw '#{JSON_PAYLOAD}'
curl --location --request GET 'https://api-sandbox.network.global/v1/tokenkc/generate' \--data-raw '#{JSON_PAYLOAD}'
curl --location --request POST 'https://api-sandbox.network.global/v1/tokenkc/generate' \--data-raw '#{JSON_PAYLOAD}'

Node Child Node Type Length Description
Authorization* requiredBearer xxxx* requiredstringAuthorization Header (Bearer Token)
Content-Type* requiredapplication/json* requiredstringContent Type

Node TypeTypeLengthDescription
NISrvRequestrequest_account_transactionheadermsg_id* requiredstring12Message 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* requiredstring12Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “TRANSACTION”
msg_function* requiredstring50Static Value - REQ_ACCOUNT_TRANSACTION
src_application* requiredstring10Source 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* requiredstring10The 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* requiredstring30Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
bank_id* requiredstring4Bank 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”
bodycard_identifier_idstring32account identifier
account_identifier_type* requiredstring20CONTRACT_NUMBER
transactiontransaction_code* requiredstring32Transaction code For Payment- PAYCC For Reversal- PAYACC-REV For Debit- DEBITCC For Debit Reversal- DEBITCC-REV
amount* requiredstring20Amount
currency* requiredstring3Currency
descriptionstring255Transaction description
billing_amountstring20Billing Amount
billing_currencystring3Billing Currency
auth_codestring6Auth Code
countrystring3Country
citystring200City
counter_party_numberstring20Source Number
transaction_ref_number* requiredstring12Transaction reference number
transaction_datestring19Date of transactions
external_ref_numberstring12Reference number
rules_datakeystring32Custom Tag
valuestring128Tag 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-Typeapplication/jsonstringContent Type

Node TypeTypeLengthDescription
NISrvResponseresponse_account_transactionheadermsg_id* requiredstring12Unique Source Message ID eg ada123456fdsf
msg_type* requiredstring12Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “TRANSACTION”
msg_function* requiredstring50Default REP_ACCOUNT_TRANSACTION
src_application* requiredstring10Source 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* requiredstring10The 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* requiredstring15Timestamp of the response - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
bank_id* requiredstring4Bank 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_detailsapplication_name* requiredstring20Application Name
date_time* requiredstring30Timestamp of the response Format “YYYY-MM-DD HH:MM:SS”
status* requiredstring1Status of the request (S/F)
error_code* requiredstring4EAI Internal Error Code (Check error codes section for the complete list of error codes and error code descriptions)
error_description* requiredstring100Error Description (Check error codes section for the complete list of error codes and error code descriptions)
transaction_ref_idstring20The tracking_id sent in the request will be sent back in response in this field.
bodycard_identifier_id* requiredstring32454545XXXXXX1234
card_identifier_type* requiredstring20CONTRACT_NUMBER or EXTD
response_code* requiredstring3Return code
status* requiredstring50Posting 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
200Sample Description
400Bad Request
401Unauthorized
403Forbidden
500Internal Server Error
502Bad gateway
503Scheduled Maintenance
504Gateway Timeout
596Service Not Found

How It Works

Follow the steps below. For more details, read the Quick Start Guide.