Introduction

Webhooks are server to server API Callbacks or Push Notifications triggered on specific events. Webhooks are further classified into two categories:-

  1. Real Time Webhook
    Zaakpay will send the callback for all the transactions that got successful or declined in real time

  2. Non Real Time Webhook
    Zaakpay will send the callback for all the transactions that got updated in non-real time or after bank recon

Method Type: POST

End point: Callback URL can be configured by Merchant via Zaakpay Dashboard to receive notification via webhook

Sample data posted by Zaakpay

1. For Real Time webhooks

txnData={
   "merchantIdentifier":"fb2016ffd3a64b2994a6289dc2b671a4",
   "txns":[
      {
         "amount":"1000",
         "pgTransId":"ZP5ccbb5a8b4959",
         "orderId":"ZPLive1632479839916",
         "paymentMode":"Debit Card",
         "cardScheme":"Visa",
         "product3Description":"NA",
         "cardToken":"4012 XXXX XXXX 1112",
         "responseCode":"100",
         "bank":"HDFC",
         "bankid":"NA",
         "doRedirect":"false",
         "product1Description":"NA",
         "product4Description":"NA",
         "responseDescription":"The transaction was completed successfully. ",
         "cardId":"25157d8564f730461489ea3102c393fd3bf13cfed94966f44815714d57170f4c~273",
         "cardhashid":"CH373",
         "paymentMethod":"401200",
         "product2Description":"NA",
         "pgTransTime":"09\/24\/2021 16:11:06",
         "txnDate":"2021-09-24 16:11:07.272",
         "productDescription":"Zaakpay subscription fee"
      }
   ]
}&checksum=b114d127fbe793150ef7a0d10e3c084c975b48d20382bacb0080864f573dd6ea
txnData={
   "merchantIdentifier":"b19e8f103bce406cbd3476431b6b7973",
   "txns":[
      {
         "amount":"100",
         "pgTransId":"ZP5c60ee0e4d993",
         "orderId":"669-16251420",
         "paymentMode":"unknown",
         "cardScheme":"NA",
         "product3Description":"NA",
         "cardToken":"NA",
         "responseCode":"1021",
         "bank":"NA",
         "bankid":"NA",
         "doRedirect":"false",
         "product1Description":"NA",
         "product4Description":"NA",
         "responseDescription":"Minimum Transaction Limit is 9 Rupees ",
         "cardId":"NA",
         "cardhashid":"NA",
         "paymentMethod":"Not Found",
         "product2Description":"NA",
         "pgTransTime":"07\/01\/2021 17:51:28",
         "txnDate":"2021-07-01 17:51:28.623",
         "productDescription":"medical product"
      }
   ]
}&checksum=5ad76f8041fa898ba4c29caa2e98e6c5a05dbba2aade3bc551daa0cf9d73f208

2. For Non Real Time webhooks

txnData={"merchantIdentifier":"b19e8f103bce406cbd3476431b6b7973","txns":[{"amount":1000,"orderid":"ZPLive1625124227854","txnDate":"2021-07-01 12:53:55.0"}]}&checksum=1f2d42b7557164ec17bfda28b1efb943dc13e3a4d27aa9dd6d1d83a5fed231ef

Request Parameters

Parameter

Optional(O) / Mandatory(M)

Validation

Allowed Values

txnData

M

JSON format

Transaction data in JSON format for the transactions that have been
updated in bank recon. This JSON also has 3 fields:

  • txns: Txn information.
  • merchantIdentifier: MobikwikPG merchant identifier
  • refunds: All txns auto-refunded if auto-refund is enabled by merchant.

checksum

M

String

checksum calculated on the entire JSON value of parameter txnData
using secret key of the merchant.

Response

In Response to the above call, Merchant should return HTTP status code 2xx and "SUCCESS" to Zaakpay. If Zaakpay does not receive this response, Zaakpay will retry above request with same data one more time.

📘

Note:-

▪ You can Configure the Webhook URLs from Zaakpay Dashboard.

▪ Zaakpay will make a POST request to the provided URL with 2 parameters (txnData and checksum). Also it will provide a query param “realtime” with a value as “true”.

▪ Number of transactions in one call: Currently there can be maximum 10 transactions in
one POST request.When there are more than 10 transactions which have been updated
in bank recon, there will be multiple POST requests.
For Example, if there are total 36 transactions that have been updated on a day,Zaakpay will make 3 POST requests to merchant’s push notification url. First 2 requests will have 10 transactions each in JSON and the 3rd request will have 6 transactions.

▪ To test the realtime webhook please get in touch with the support team ([email protected]).


Did this page help you?