Webhook notifications
when an event is triggered corresponding to one of the webhook you subscribe to, a notification will be send to the merchant url provided during the webhook creation.
SlimPay will send a Webhook notification in UTF-8 encoded notification message using HTTPS POST to the specified webhook URL to inform the merchant about updates he has subscribe to
SlimPay will make a secure connection with your server before sending your webhook notification. You must handle HTTPS with a valid server certificate. The security is supported using TLS version 1.2 or 1.3. HTTP is not supported in test or live mode
The request will be as follows:
POST follow(https://merchantURL) HTTP/1.1
headers:
slimpay-signature: t=1697636543411,v1=cab163c1a3a51511ea5b59b2a0cee78e5f961914603df00181f0269a2a0e1cf3
Content-Type: application/json
user-agent: SlimPayWebhook/1.0.0
accept: */*
{
"Id":"ea8e7c26-3074-11ee-bd43-000000000000",
"version":"1",
"createdAt":1701430746769,
"eventType":"order_slimcollectpay.update",
"data":{
"uuid":"c9ebea6a-903d-11ee-8312-000000000000",
"status":"COMPLETED",
"code":20005,
"statusMessage":"The order is completed"
}
}
We expect to receive a quick notification response, within 10 seconds to verify/store/acknowledge the webhook notification with HTTP 200 response
The below lists all the headers that you will receive:
The below lists all of the parameters that you will receive:
The corresponding values between the eventType, the status, code and message is provided in the table below:
EventType | Status | Merchant Code | StatusMessage, english |
---|---|---|---|
payment_slimcollectpay.update | PROCESSING | 10001 | The payment is initiated by the subscriber |
NOT_PROCESSED | 10002 | A technical errror occured {: + Error Msg from Aggregator?} | |
NOT_PROCESSED | 10003 | The payment is cancelled by the subscriber {: + Msg from Aggregator?} | |
NOT_PROCESSED | 10004 | Warning - The payment is not received after 4 days | |
NOT_PROCESSED | 10005 | Your link has expired | |
PROCESSED | 10006 | Your payment is available in your bank account | |
REFUND | 10007 | A refund occurred | |
payment_sepadd.notprocessed | NOT_PROCESSED | 10009 | The SEPA Direct Debit has been cancelled before execution |
payment_sepadd.rejected | REJECTED | 10010 | The SEPA Direct debit has been rejected (R-Transaction) |
payment_sepadd.confirmed | CONFIRMED | 10012 | The SEPA Direct Debit can no longer be rejected or returned by the debtor’s bank. The SEPA Direct Debit may only be subject to a refund in case of a dispute from the debtor himself. |
reimbursement_sepact.notprocessed | NOT_PROCESSED | 10013 | The reimbursement was cancelled before its execution or cannot be sent to the bank because of wrong or missing information. |
reimbursement_sepact.rejected | REJECTED | 10014 | The reimbursement was rejected by the debtor’s bank (R-Transaction) |
order_slimcollectpay.update | ABORTED_BYSERVER | 20001 | A technical errror occured {: + Error Msg from Aggregator?} |
ABORTED_BYCLIENT | 20002 | The order is cancelled by the subscriber {: + Msg from Aggregator?} | |
ABORTED_BYSERVER | 20003 | Your link has expired | |
ABORTED_BYSERVER | 20004 | Warning - A technical errror occured, payment not received | |
COMPLETED | 20005 | The order is completed | |
order_slimcollectverify.update | ABORTED_BYSERVER | 20001 | A technical errror occured {: + Error Msg from Aggregator?} |
ABORTED_BYCLIENT | 20002 | The order is cancelled by the subscriber {: + Msg from Aggregator?} | |
COMPLETED | 20005 | The order is completed | |
ABORTED_BYSERVER | 20003 | Your link has expired | |
order_signDocument.update | ABORTED_BYSERVER | 20001 | A technical errror occured {: + Error Msg from Aggregator?} |
ABORTED_BYCLIENT | 20002 | The order is cancelled by the subscriber {: + Msg from Aggregator?} | |
COMPLETED | 20005 | The order is completed | |
order_signMandate.update | ABORTED_BYSERVER | 20001 | A technical errror occured {: + Error Msg from Aggregator?} |
ABORTED_BYCLIENT | 20002 | The order is cancelled by the subscriber {: + Msg from Aggregator?} | |
COMPLETED | 20005 | The order is completed | |
mandate_slimcollectpay.update | MANDATE_ACTIVE | 30001 | The mandate is approved |
MANDATE_REJECTED | 30002 | The subscriber did not provide its consent. Mandate is rejected | |
MANDATE_EXPIRED | 30003 | The link and mandate have expired | |
MANDATE_EXPIRED | 30004 | Warning - A technical errror occured, mandate expired | |
MANDATE_ACTIVE | 30005 | The mandate becomes active after receiving payment | |
MANDATE_REJECTED | 30006 | The mandate is rejected due to no action from the subscriber | |
MANDATE_REVOKED | 30007 | The mandate is revoked | |
MANDATE_AMENDED | 30008 | The mandate is amended | |
mandate_slimcollectverify.update | MANDATE_ACTIVE | 30001 | The mandate is approved |
MANDATE_REJECTED | 30002 | The subscriber did not provide its consent. Mandate is rejected | |
MANDATE_EXPIRED | 30003 | The link and mandate have expired | |
MANDATE_REVOKED | 30007 | The mandate is revoked | |
MANDATE_AMENDED | 30008 | The mandate is amended | |
mandate_signMandate.update | MANDATE_ACTIVE | 30001 | The mandate is approved |
MANDATE_REVOKED | 30007 | The mandate is revoked | |
MANDATE_AMENDED | 30008 | The mandate is amended |
- Merchant should be able to manage duplicate events: it may be possible that merchant received duplicates events. Your application should be idempotent
- It is also possible that a notification is not sent in case of technical issues. The merchant should implement a fail-safe
- The notifications are asynchronous so the order is not fixed