Webhooks allow you to subscribe to certain events that happen in MoneyMoov. When one of these events are triggered we’ll send a HTTP POST payload to the webhook’s configured URL.
Webhooks are configured on a per-merchant basis. You will have to configure webhooks for each of your merchants to receive notifications. You can use the Webhooks POST endpoint to configure webhooks against your merchants.
Resource type
When you configure a webhook you choose the type of MoneyMoov entity you’d like to subscribe to. Within each resource there are certain types of events that can happen (e.g. create, update). You will be notified of any useful events that occur against the resource you have subscribed to
The available resources are:
Resource type | Action type | Description |
---|---|---|
PaymentRequest | Created | A new payment request has been created |
Updated | An existing payment request has been updated. Includes status update when a payment is received in the payment request. | |
Deleted | An existing payment request has been deleted | |
Payout | Created | A new payout has been created |
Updated | An existing payout has been updated. Includes status updates to the payout. | |
Deleted | An existing payout has been deleted | |
TransactionPayin | Created | A new transaction has been created for funds received. |
TransactionPayout | Created | A new transaction has been created for funds sent out. |
Report | Created | A new report has been created |
Updated | An existing report has been updated | |
Deleted | An existing report has been deleted | |
Rule | Created | A new rule has been created |
Updated | An existing rule has been updated includes status updates | |
Deleted | An existing rule has been deleted |
Payloads
The JSON payload will consist of the following:
Property name | Description |
---|---|
ID | A unique ID for each webhook event. All retransmits of the same event will use the same ID. |
IsSandbox | Will be true if the webhook was generated in a sandbox environment. |
Items | The payload holding the details of the item that the webhook is for. |
Each item will consist of:
Property name | Description |
---|---|
EventDate | Timestamp the event occurred at. |
ActionType | The type of event the webhook is for, for example created, updated, deleted etc. |
ResourceType | The type of resource the webhook item represents, for example PaymentRequest, Payout etc. |
Payload | The payload holding the details of the item that the webhook is for. |
Example payload:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"isSandbox": true,
"items": [
{
"EventDate": "2024-02-23T15:00:00Z",
"ActionType": "Created",
"ResourceType": "PaymentRequest",
"Payload": {
// Sample payment request payload data
"id": "e5e1659c-b679-4888-ba23-b41ab62dc39d",
"merchantID": "a9f82104-09ef-4cbc-988a-0de93a22f287",
"amount": 5.00000000000,
"currency": "EUR",
"customerID": "bucketcus22222024",
"orderID": "e5e1659c-b679-4888-ba23-b41ab62dc39d",
"paymentMethodTypes": "card, pisp, applePay, googlePay",
"pispAccountID": "cca4b8b6-174b-4474-a0e4-6aa51518d6af",
"baseOriginUrl": "https://api-sandbox.nofrixion.com",
"callbackUrl": "https://api-sandbox.nofrixion.com/pay/v2/e5e1659c-b679-4888-ba23-b41ab62dc39d/confirm",
"cardAuthorizeOnly": false,
"cardCreateToken": false,
"cardCreateTokenMode": "None",
"ignoreAddressVerification": true,
"cardIgnoreCVN": false,
"paymentProcessor": "Checkout",
"pispRecipientReference": "pispqh3fMIz3Ag925",
"status": "FullyPaid",
<--- other payment request propeties --->
}
]
}
The x-moneymoov-signature header
A hashed signature of the payload is passed along in the headers of each request as x-moneymoov-signature. This signature is used to verify data integrity of the received payload.