Please take note that the Callback function is only applicable to integration using shopping cart method. The Callback for WooCommerce and OpenCart is now available.
Callback URL is used as alternative notification to merchant shopping cart in case there is a breakdown in transaction flow. This function is only applicable if merchant is using shopping cart method for integration with senangPay. This is optional so merchant can opt not to use this feature. However this feature is recommended for merchant that is using shopping cart method for integration to ensure data integrity between merchant’s system and senangPay.
Understanding breakdown in transaction flow
When a customer is doing a transaction using shopping cart, the customer will be redirected a few times to different system.
If the transaction has been approved by the bank but the customer encountered problem such as internet connection issue, there is a possibility that either:
1. senangPay is updated with the correct transaction status but merchant online store does not.
2. Both senangPay and merchant online store is not updated with the correct transaction status.
Solution when there is a breakdown in transaction flow
For every transaction, it will go through a verification process in senangPay. Every transactions will go through this process 30 minutes to 1 hour after the transaction is initiated. This buffer 30 minutes to 1 hour is to make sure that the transaction has been completed and the status is final in Visa/Mastercard/FPX.
In case of a transaction breakdown where senangPay and merchant online store is not updated with the latest status, once the verification process has done and senangPay has been updated with the latest status, senangPay will do a callback to merchant online store and send the latest status.
In case of a transaction breakdown where senangPay is updated with the latest status but merchant online store does not, senangPay will do a callback immediately once the transaction is completed in senangPay.
If there is no breakdown in transaction senangPay will still do a callback to merchant online store once the transaction is completed in senangPay.
Callback process will send the same parameters as what is being sent to return URL. The callback URL must print out a simple ‘OK’ without any HTML tags. The OK response is needed in order for the callback function to know if it has successfully sent the callback data.
If merchant has configured the URL for callback but senangPay is unable to connect to the URL or the URL did not return ‘OK’, senangPay will send an email to merchant. Merchant must fix the issue and update their system with the correct status for the transaction. If you do not want any failure email notification please set callback response as ‘Ignore the response’. (refer to next section for location to set this). Take note that the callback URL must not be using session.
Please avoid using redirection for callback URL. This might lead to HTTP status 302.
senangPay will send the data to callback URL using HTTP POST method.
The frequency varies depending on the situation. If the transaction is still pending, senangPay will start sending callback 5 minutes after the transaction started. senangPay will send the callback real time once it receive any status update from the banks.
The last callback will be 1 hour after the transaction started. This means you will receive multiple callbacks for the transactions.
It is also possible to receive a failed status followed by successful status. This is due to the transaction is still not complete when senangPay make the initial query (for the status) with the banks.
The last callback will carry the final status of the transaction.
Where to set Callback URL
Go to Menu > Settings > Profile. Scroll down the page and you will see the setting fields. For more information on how to set it, click here.
Related Content :
Please take note that :
Please take note that you might receive multiple callback for the same transaction. The latest callback data is considered as the most up-to-date data for the transaction.