Webhook
Overview
Tylt provides a webhook mechanism for merchants to receive real-time updates on the status of their transactions, whether for pay-ins. Merchants can specify a callBackUrl
in their API requests, and Tylt will send notifications to this URL whenever there is a status change in the transaction.
Setting Up the Webhook
Implement a Callback Endpoint: Merchants must set up an HTTP POST endpoint that can receive JSON payloads. This endpoint should be capable of processing the incoming webhook data and verifying its authenticity using HMAC-SHA256 signature validation.
Insert the Callback URL: During a pay-in request, insert your endpoint URL in the
callBackUrl
field. Tylt will send updates to this URL whenever the transaction status changes.Status Updates: When a transaction status changes to
Waiting
,Confirming
,Paid
,Failed
, orExpired
, Tylt will send a JSON payload with the updated status.Callback Validation: To ensure the integrity and authenticity of the callback, Tylt signs each callback payload using HMAC-SHA256 with the merchant’s API secret key. This signature is sent in the HTTP header
X-TLP-SIGNATURE
.Acknowledge the Callback: Upon receiving the callback, merchants must respond with an HTTP 200 status code and the text
"ok"
in the response body. This acknowledges the successful receipt of the callback. If the acknowledgment is not received, the webhook will not be retried automatically. Merchants can manually resend webhooks from their Tylt dashboard.
Validating Callbacks
Merchants should validate the HMAC signature included in the X-TLP-SIGNATURE
header to ensure the callback is from Tylt and has not been tampered with. The HMAC signature is generated using the raw POST data and the MERCHANT_API_SECRET
as the shared key.
Example Web-hook Handling Code
Again, please note that these code snippets serve as examples and may require modifications based on your specific implementation and framework.
Example of Web-hook Responses
Again, please note that these response snippets serve as examples and may require modifications based on your specific implementation and framework.
Important Considerations
Security: Always verify the
X-TLP-SIGNATURE
header to ensure the callback originates from Tylt.Response: Always return an HTTP 200 response with
"ok"
in the body to acknowledge successful receipt of the webhook.Manual Retry: In case of missed callbacks, use the tylt.monry dashboard to manually resend the webhook.
Last updated