Webhook/Callback Notifications
A callback URL, also known as a webhook or notification URL, is a URL (Uniform Resource Locator) which can be used by you when you integrate with our payment gateway to receive real-time notifications and data regarding payment transactions. Callback URLs are an essential component of online payment processing, and they serve several important purposes like:
1: Transaction Status Updates: When a customer makes a payment through our payment gateway, the transaction's status (successful, failed, pending, etc.) may change as it progresses through various stages. The payment gateway sends real-time updates to the callback URL, allowing the merchant to receive instant notifications about the status of the transaction.
New Signature in Callbacks
To improve the security of the transactions, we have introduced a callback parameter in the response of the Pay API call.
The signature is created by following the below steps:
- Concatenate the string of { MerchantPublicKey , OrderAmount, OrderCurrency, Orderid, Status, MerchantRefrenceId, timeStamp }
- Hash (SHA-256) this Concatenated string by (MerchantAPIPassword)
- Convert Hashed Value to Base64Str
From the parameters in the response to the Pay API, you have to generate the signature with the above logic and validate the signature parameter in the payload of the Pay API response.
2: Order Fulfillment: Callback URLs enable you to automate your order fulfilment process. For example, when a payment is successfully processed, the payment gateway can notify you via the callback URL, triggering the release of products or services to the customer.
Warning
After receiving the callback response, it's important to verify the callback parameters. For instance, ensure that the amount matches your order amount. Only proceed to assist the customer if the "responseCode" is "000," the "responseMessage" is "Success," the "detailedResponseCode" is "000," and the "detailedResponseMessage" is "The operation was successful."
3: Error Handling: In case of errors or issues during payment processing, the payment gateway can communicate these details to your system through the callback URL, allowing for immediate troubleshooting and customer support.
Additional Details:
When a customer clicks "Purchase" and enters a valid card number, an Order ID is generated, and the Order status is set to "InProgress". At this point, No callback is sent since the payment journey is not yet complete.
If the customer proceeds to Bank's "Verify OTP" Screen(3DS screen) and Cancels/ Retries with another payment method the Order remains Inprogress (No Callback) until it is Paid or Failed.
Customer will see the below screen in case of Retry with other Payment Options.
If the customer wants to discontinue the payment journey and chooses to close the HPP, you will be notified the same on the callback/webhook. You will receive callback with the transaction detailed response message: "Transaction Cancelled By User."
Please note that you will NOT receive separate callback notifications for Authentication failures because the order is still "InProgress."
This does not mean that you will not be aware of how many times the order was attempted to Pay. Customers can attempt to pay for an order multiple times until successful. However, once the order is successfully paid, you will receive callback which will include the complete history of the order.
For instance, lets consider the case where the first attempt the customer cancelled from the 3DS page, the second attempt the authentication was rejected, and in the third attempt the payment was successful.
You will receive webhook response which will consolidate all three transaction attempts in a single callback under the same order ID.
Here is a sample for the same :
Updated 9 months ago