View Categories

Webhooks

5 min read

Webhooks, as a fundamental component in modern system architecture, function as secure, HTTP-based callbacks strategically designed to notify subscribed entities of events pertinent to their domain.

In contrast to the resource-intensive method of continuous polling for updates, webhooks offer an elegant solution by establishing a callback mechanism that triggers data transmission exclusively when predefined events occur.

These events encompass a broad spectrum, including tokens, payments, payment schedulers, risks, or any modifications to transaction states associated with payments or transactions, providing a comprehensive mechanism for real-time information exchange.

Webhook Mechanism

The webhook mechanism is characterized by the following key attributes:

Facilitates near real-time transmission of transaction data, enhancing the responsiveness of systems.

Seamless integration with organizational workflows through event-driven triggers, enabling efficient automation.

Ensures operational efficiency by promptly transmitting data, eliminating the need for periodic checks for new information.

Streamlined setup process, requiring only a URL for the receiving system to access and process transmitted data.

Events and Event Codes

Paybiz employs a comprehensive set of events, each identified by precise event codes, to provide users with granular control over their webhook subscriptions. When users execute predefined operations, Paybiz promptly activates the associated events, ensuring accurate and timely notifications. The following events are supported:

  1. DELETE_INVOICE
  2. DRAFT_INVOICE
  3. INVOICE_LINK_CLICKED
  4. PAYMENT_FAIL
  5. PAYMENT_SUCCESS
  6. REVERSAL_FAIL
  7. REVERSAL_SUCCESS
  8. RISK_FAIL
  9. SEND_INVOICE
  10. UPDATE_INVOICE

Webhook Configuration

Configuring webhook notifications involves a meticulous process where users must furnish Paybiz with the exact URL for seamless integration. This provided URL is meticulously integrated into the system architecture, and Paybiz diligently activates the specified events based on the user’s preferences. This tailored configuration process ensures a sophisticated and efficient integration, aligning with the user’s specific requirements for event-driven data exchange.

Response

Payment Success
{
    "paymentRequest": {
        "acsTransID": null,
        "ac sURL": null,
        "actionCode": "PURC",
        "amount": 130,
        "areq": null,
        "ares": null,
        "authenticationValue": null,
        "browserAgent": null,
        "browserColorDepth": null,
        "browserJavaEnabled": false,
        "browserJavaScriptEnabled": false,
        "browserLanguage": null,
        "browserScreenHeight": null,
        "browserScreenWidth": null,
        "browserTimeZone": null,
        "cardBin": "411111",
        "cardExpiryMonthMask": "1*",
        "cardExpiryYearMask": "2**4",
        "cardHolderName": "Shahjehan",
        "cardNumberMask": "411111******1111",
        "cardType": "INST1VISA",
        "creq": null,
        "cres": null,
        "currency": "840",
        "custEmail": null,
        "custMobNum": null,
        "customField1": null,
        "customField10": null,
        "customField11": null,
        "customField12": null,
        "customField13": null,
        "customField14": null,
        "customField15": null,
        "customField16": null,
        "customField17": null,
        "customField18": null,
        "customField19": null,
        "customField2": null,
        "customField20": null,
        "customField3": null,
        "customField4": null,
        "customField5": null,
        "customField6": null,
        "customField7": null,
        "customField8": null,
        "customField9": null,
        "dsTransID": null,
        "eci": null,
        "enrolledStatus": null,
        "errorCode": null,
        "errorComponent": null,
        "errorDescription": null,
        "errorDetail": null,
        "errorMessageType": null,
        "errorUrl": null,
        "exConnectionId": null,
        "httpAccept": null,
        "instId": "inst1",
        "instPId": 21,
        "langId": "EN",
        "merchantId": "merchant1",
        "merchantIntgType": "P",
        "merchantRefId": "1234567812345678",
        "messageType": null,
        "messageVersion": null,
        "pareq": null,
        "pares": null,
        "paymentAmt": 130,
        "paymentId": "823196301400001",
        "paymentInstrument": "CARD",
        "paymentIntTime": "2023-07-15T08:22:21.008246",
        "paymentNotificationFlag": null,
        "paymentNotificationTime": null,
        "paymentStatus": "SUCCESS",
        "paymentType": null,
        "paymentTypeId": null,
        "riskResponseCode": null,
        "rreq": null,
        "rres": null,
        "sdkTransID": null,
        "status": "1",
        "successUrl": null,
        "terminalId": "terminal1",
        "threeDSServerTransID": null,
        "threedsFlag": false,
        "tranPortalId": "t2",
        "transStatus": null,
        "transStatusReason": null,
        "userHeader": null,
        "vereq": null,
        "veres": null
    },
    "paymentResponse": {
        "authCode": "000000",
        "errorText": null,
        "originalTransactionId": "",
        "paymentId": "823196301400001",
        "responseCode": "00",
        "rrn": "651603455517",
        "stanId": "",
        "status": "0",
        "transactionId": "923196301410001"
    }
}