A webhook URL can be provided as a request parameter in the request body for certain endpoints, allowing you to receive notifications when the status of an underlying object changes.This eliminates the need to schedule tasks or constantly poll ELANLINK’s endpoints for updates. Simply include a webhook_url in the API payload, and ELANLINK will send a POST request to your server whenever there is a status change in the object. Ensure that the webhook_url is set to HTTPS, as webhooks will not be triggered over unencrypted connections.It’s essential to configure your endpoint URL to acknowledge ELANLINK's webhooks with standard HTTP response codes. For example, return a 2xx code to confirm the successful receipt of a POST request on your server.If ELANLINK does not receive a 2xx acknowledgement, it will retry sending the webhook for up to 36 hours as detailed in the retry policy below.The following ELANLINK objects trigger webhook responses:The webhook subscription can also be requested in the Dashboard, with the following types available:
PAYMENT
REVIEW RESULT
DISPUTE RECIEVED
DISPUTE RESULT
REFUND RECIEVED
REFUND ACCEPTED
REFUND RESULTIn case of any server block or not receiving a response to your webhook URL, try whitelisting the below IP addresses:
Test Mode (Sandbox) : XX.XXX.XXX.XXX
Live Mode (Production) : XX.XXX.XXX.XXX
Retry Policy#
If ELANLINK does not receive a 2xx status from your endpoint as an acknowledgement of successful webhook delivery, it keeps retrying.The time between each retry increases exponentially by a power of 2 with jitter till a period of 12 hours. The first retry starts after 1 second of original webhook delivery.This process is repeated 3 times. You can receive a retried webhook upto 36 hours from the delivery of the first webhook.Review#
Review notifications will be sent to the notify_url defined by merchant, in the format of NameValuePair. Below are the notification parameters:Merchant ID or Merchant Number
Transaction ID generated by gateway system, the Transaction ID = Order No + '-' + 5 digits random number
Merchat Order Number generated by Merchant
Order Currency Code. Please refer to ISO 4217 Order Status:
0: Failed (Authorization is rejected)
1: Succeed (Authorization is processed)
Review Status:
R100: Accept
R200: Reject
Same value of the “note” parameter defined in the payment request
Return type:
1: Real-time response from the browser
2: Real-time response from the server
3: Asynchronous response from the server
3-D Secure Verification Result:
--Authentication Unavailable
--Failed
--Authentication offered but not used
--Unable to Complete Authentication
Signature Structure:
encryption_data=sha256(merchant_id + account_id + transaction_id + order_no + currency + amount + order_status + result_info + sign_key);
All encryption parameters need to remove spaces before encryption.
Chargeback#
Chargeback notifications will be sent to the notify_url defined by merchant, in the format of NameValuePair. Below are the notification parameters:Merchant ID or Merchant Number
Subaccount ID or Gateway Number
Transaction ID generated by gateway system, the Transaction ID = Order No + '-' + 5 digits random number
Merchat Order Number generated by Merchant
Order Currency Code. Please refer to ISO 4217 Chargeback Status Code
4000 :SEND FOR CHARGEBACK
4010 :CHARGED BACK
4020 :CHARGEBACK FAILED
Review Status:
R100: Accept
R200: Reject
Chargeback Status Message
Same value of the “note” parameter defined in the payment request
Return type:
1: Real-time response from the browser
2: Real-time response from the server
3: Asynchronous response from the server
3-D Secure Verification Result:
--Authentication Unavailable
--Failed
--Authentication offered but not used
--Unable to Complete Authentication
Cardholder's billing address
The city in the billing address
The state in the billing address
The country code of the country in the billing address
billing_postal_code
string
optionalThe postal or zip code of the billing address
Cardholder's phone number
Cardholder's email address
Signature Structure:
encryption_data=sha256(merchant_id + account_id + transaction_id + order_no + currency + amount + order_status + result_info + sign_key);All encryption parameters need to remove spaces before encryption.
Payment#
For offline payment such as offline bank transfers, our gateway system will notify merchant with the final result via payment notification once payment is completed. These notifications will send to the ‘notify_url’ defined by merchant in HTML format via POST method.Below are the parameters of payment notificationMerchant ID or Merchant Number
Subaccount Code or Subaccount ID or Gateway Number
Transaction ID generated by gateway system, the Transaction ID = Order No + '-' + 5 digits random number
Merchat Order Number generated by Merchant
The sum of the amounts of all items in an order; Value can be digits only
Please refer to ISO 4217 for decimal values of each currency Order Currency Code. Please refer to ISO 4217 Order Status:
-1: Waiting for process (This status will be used for offline transfer such as Konbini, Boleto etc.)
0: Failed
1: Succeed
Payment result information in the form of "Code + Details". Please refer to Error Code Payment method. i.e. online bank transfer
3-D Secure Verification Result:
--Authentication Unavailable
--Failed
--Authentication offered but not used
--Unable to Complete Authentication
Return type:
1: Real-time response from the browser
2: Real-time response from the server
3: Asynchronous response from the server
Same value of the “note” parameter defined in the payment request
Cardholder's billing address
The city in the billing address
The state in the billing address
The country code of the country in the billing address
billing_postal_code
string
optionalThe postal or zip code of the billing address
Cardholder's phone number
Cardholder's email address
Connector names such as Acquirers, PSPs or Banks
Signature Structure:
encryption_data=sha256(merchant_id + account_id + transaction_id + order_no + currency + amount + order_status + result_info + sign_key);All encryption parameters need to remove spaces before encryption.
Refund#
Refund notifications will be sent to the notify_url defined by merchant, in the format of NameValuePair. Below are the notification parameters:Merchant ID or Merchant Number
Subaccount ID or Gateway Number
Transaction ID generated by gateway system, the Transaction ID = Order No + '-' + 5 digits random number
Merchat Order Number generated by Merchant
The sum of the amounts of all items in an order; Value can be digits only
Please refer to ISO 4217 for decimal values of each currency Order Currency Code. Please refer to ISO 4217 Refund Status Code
4100 :SEND FOR REFUND
4110 :REFUNDED
4120 :REFUNDED FAILED
Refund Request Result
R100:Accept
R200:Reject
Same value of the “note” parameter defined in the payment request
Return type:
1: Real-time response from the browser
2: Real-time response from the server
3: Asynchronous response from the server
Payment method. i.e. online bank transfer
3-D Secure Verification Result:
--Authentication Unavailable
--Failed
--Authentication offered but not used
--Unable to Complete Authentication
Cardholder's billing address
The city in the billing address
The state in the billing address
The country code of the country in the billing address
billing_postal_code
string
optionalThe postal or zip code of the billing address
Cardholder's phone number
Cardholder's email address
refund_reference_id
string
optionalUnique refund reference generated by our gateway system
Signature Structure:
encryption_data=sha256(merchant_id + account_id + transaction_id + order_no + currency + amount + order_status + result_info + sign_key);All encryption parameters need to remove spaces before encryption.