Introduction

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 typeAction typeDescription
PaymentRequestCreatedA new payment request has been created
UpdatedAn existing payment request has been updated. Includes status update when a payment is received in the payment request.
DeletedAn existing payment request has been deleted
PayoutCreatedA new payout has been created
UpdatedAn existing payout has been updated. Includes status updates to the payout.
DeletedAn existing payout has been deleted
TransactionPayinCreatedA new transaction has been created for funds received.
TransactionPayoutCreatedA new transaction has been created for funds sent out.
ReportCreatedA new report has been created
UpdatedAn existing report has been updated
DeletedAn existing report has been deleted
RuleCreatedA new rule has been created
UpdatedAn existing rule has been updated includes status updates
DeletedAn existing rule has been deleted

Payloads

The JSON payload will consist of the following:

Property nameDescription
IDA unique ID for each webhook event. All retransmits of the same event will use the same ID.
IsSandboxWill be true if the webhook was generated in a sandbox environment.
ItemsThe payload holding the details of the item that the webhook is for.

Each item will consist of:

Property nameDescription
EventDateTimestamp the event occurred at.
ActionTypeThe type of event the webhook is for, for example created, updated, deleted etc.
ResourceTypeThe type of resource the webhook item represents, for example PaymentRequest, Payout etc.
PayloadThe 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.