Webhooks
Use webhooks to get notified about payment events.
What is a webhook
Webhooks are a very important part of our payment process. We use webhooks to share information about an event
that happened. These events could range from transactions updates to fraud rule triggers.
For security reasons the event details we send to you contain only a very small portion of information about
that particular event.
Type of webhooks
- Transaction updates
- Refund updates
- Chargeback updates
- Tag rule trigger
- Anti fraud rule trigger
- Subscription updates
Sample webhook
This is a sample webhook for a transaction update:
{
"type": "transaction",
"id": "c3c5ee57-25bd-4e98-b328-809417924f1d",
"status": "SETTLEMENT_REQUESTED"
}
Webhook parameters
Field | Optional | Description |
---|---|---|
type | no |
Type of item this webhook is connected to Options: transaction, refund, chargeback, cardlink, validationruleset, report_generated, subscription |
id | no | Item ID of the item this webhook is connected to |
status | yes |
The status change this webhook communicates
Options are based on type; transaction: INITIATED, IN_PROGRESS, PENDING, AUTHORIZED, SETTLEMENT_REQUESTED, SETTLEMENT_COMPLETED, DECLINED, FAILED, UNKNOWN, ABANDONED, CANCELLED, AUTHORIZATION_VOIDED refund: PENDING, PROCESSED, CANCELLED, FAILED, HOLD, UNKNOWN chargeback: OPEN, IN_DISPUTE, WON, LOST, CANCELLED cardlink: CREATED, INITIATED, DONE, CANCELLED, EXPIRED subscription: CREATED, ACTIVE, PAST_DUE, EXPIRED, CANCELLED, COMPLETED |
status_reason | yes | Status reason details. Example; the reason why a transaction has been declined |
amount | yes |
The item amount in cents Only available when type in: transaction, refund, chargeback |
merchant_reference | yes |
Reference specified by the merchant to identify the transaction Only available when type is transaction |
paymentlink_id | yes |
ID of the paymentlink used to create this transaction Only available when type is transaction |
subscription_id | yes |
ID of the subscription used to create this transaction Only available when type is transaction |
Integrating webhooks
You can configure transaction, refund and chargeback webhooks via
the payment profile object.
See: API documentation.
Alternatively, it's possible to set the webhook url per transaction
(Start transaction).
Transaction field: webhook_transaction_update.
Receiving a webhook
When the webhook is sent to the merchant's URL we expect the merchant's server to respond with a status code 200 - OK.
If the webhook is not successfully received we will make 11 attempts to resend the webhook in:
1m, 2m, 4m, 8m, ... 1024m(~17h).
Validating a webhook
To ensure that the Webhook originated from MassPay, all our Webhooks are digitally signed.
Read more about webhook signature verification