Webhook Solutions

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.

Integration

Our Webhooks solution relies on consumer defining a single API endpoint to receive all the notification types. Each message contains a common structure with:

  • id: Unique message id
  • type: type of notification. This is the key field to differentiate processing of the details payload
  • timestamp: timestamp of the message from NI systems
  • details: notification payload. Every message type will have its own payload specification and should be parsed and acted accordingly.

 

Security

The webhook endpoint is expected to be hosted through TLS/HTTPS to ensure secured data exchange. In addition to this, our webhook solution supports API authentication.
The preferred authentication strategy is oAuth2 where the consumer should provide NI with:

  • Authentication/Token management URL endpoint
  • client_id
  • client_secret

 

Pre-requisites

Our webhook API request will be using the POST verb.
To register a Webhook endpoint with us, please contact your relationship manager with:

  • Webhook URL Endpoint
  • Authentication mode
  • Security requirements
NI will ensure efficient management of authentication token and will include such in every webhook call.
To support different authentication method or integration strategy with us, please contact your relationship manager

 

 

 
Version

Authorization Transaction

Status:

Production

Version:

V2

Product:

Webhook Solutions

 

Overview

This webbook serves to instantly inform your system whenever an authorization transaction occurs.
 

How It Works

The authorization transactions API Webhook facilitates secure and real-time handling of card authorization activities by sending HTTP POST requests to specified endpoints. This webhook service is used to send issuer notification related to authorizations. This Can be used to send SMS, or push notification to the cardholder along with other activities from the issuer side.

 

 

/V2/webhook/AuthorizationTransaction

Authorization Transaction

Status:

Production

Version:

V2

Product:

Webhook Solutions
/V2/webhook/AuthorizationTransaction
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
idstring36Unique identifer ID
typestring10Type of the webhook
timestampstring30Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
detailstransactiontypestring20Type of the transaction: Auth/Reversal/Refund/Adjustment
retrievalReferenceNumberstring12RRN
datestring10Transaction Date
timestring12Transaction Time
currencystring3Transaction Currency Code
amountstring22Transaction Amount
authCodestring8Approval Code
originatormerchantIdstring20Merchant Number
terminalIdstring100Terminal ID
recipientmaskedCardNumber* requiredstring20Masked Card Number
externalCardIdstring30External Card ID
statusstatusstring10Transaction Status
codestring3Response Code
requesttransactionTypestring50Transaction Type
systemTraceAuditNumber* requiredstring22System Trace Audit Number
originalAmountstring22Foreign Transaction Amount
billingCurrencystring3Currency Code
billingAmountstring22Billing Amount
mccstring4MCC
countrystring3Country
citystring13City
merchantNamestring255Terminal Location
cardExpiryDatestring4Card Expiry date

{
    "id": "b876d568-8411-4638-bdef-a1a188a4773b",
    "type": "AuthTransaction",
    "timestamp": "2022-11-09T11:00:03Z",
    "details": {
        "transaction": {
            "type": "Auth",
            "retrievalReferenceNumber": "M3150100CL8M",
            "date": "20221111",
            "time": "141344",
            "currency": "784",
            "amount": "11",
            "authCode": "705119",
            "originator": {
                "merchantId": "123456789000000",
                "terminalId": "98765432"
            },
            "recipient": {
                "maskedCardNumber": "5XXXXXXXXXXXXXX7",
                "externalCardId": "55555555555555555557"
            },
            "status": {
                "status": "successful",
                "code": "001"
            },
            "request": {
                "transactionType": "01",
                "systemTraceAuditNumber": "037961",
                "originalAmount": "",
                "billingCurrency": "784",
                "billingAmount": "11",
                "mcc": "5999",
                "country": "UAE",
                "city": "Dubai",
                "merchantName": "FIRST THIRD BANK",
                "cardExpiryDate": "2710"
            }
        }
    }
}

Node Child Node Type Length Description
Content-Typeapplication/jsonstringContent Type

Node TypeTypeLengthDescription
idstring36Unique identifer ID
typestring10Type of the webhook
timestampstring30Timestamp of the response - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
responsestatuscodestring5Status code of the response
descriptionstring30Response Description

{
    "id": "b876d568-8411-4638-bdef-a1a188a4773b",
    "type": "AuthTransaction",
    "timestamp": "2020-07-20T06:49:02.366Z",
    "response": {
        "status": {
            "code": "00",
            "description": "successful"
        }
    }
}

Code Description
200Sample Description
400Bad Request
401Unauthorized
403Forbidden
500Internal Server Error
502Bad gateway
503Scheduled Maintenance
504Gateway Timeout
596Service Not Found