# Payloads
source: https://developer.mastercard.com/ob-accept-payments/documentation/developer-support/event-notifications/payloads/index.md

The webhook bodies have the following format:

```json
{
    "type": "webhook-type",
    "data": {},
    "retryCount": 0
}
```

The data object depends on the type field. See the below tables for examples.

### Accept Payment Webhooks {#accept-payment-webhooks}

|           **Type**           |                                                **Description**                                                 |
|------------------------------|----------------------------------------------------------------------------------------------------------------|
| `AcceptPaymentStatusUpdated` | Triggered when the status of an accept payment changes. Call the Get payment endpoint to get more information. |

##### Example {#example}

```json
{
  "type": "AcceptPaymentStatusUpdated",
  "data": {
    "paymentId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00",
    "status": {
      "code": "AUTHORIZATION_FLOW_INCOMPLETE",
      "lastUpdated": "2025-05-12T15:23:39.969894+00:00"
    }
  },
  "retryCount": 0
}
```

### Payment Links Webhooks {#payment-links-webhooks}

|          **Type**          |                                                 **Description**                                                  |
|----------------------------|------------------------------------------------------------------------------------------------------------------|
| `PaymentLinkStatusUpdated` | Triggered when the status of a payment link changes. Call the Get payment link endpoint to get more information. |

##### Example {#example-1}

```json
{
  "type": "PaymentLinkStatusUpdated",
  "data": {
    "paymentLinkId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00",
    "status": {
      "code": "SUCCEEDED",
      "lastUpdated": "2025-05-12T15:23:39.969894+00:00"
    }
  },
  "retryCount": 0
}
```

|           **Type**            |                                                                                             **Description**                                                                                              |
|-------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `PaymentLinkPaymentAttempted` | Triggered when a new payment is attempted under a payment link. You should be prepared for receiving webhooks on the new paymentId and keep track that this new payment is related to this payment link. |

##### Example {#example-2}

```json
{
  "type": "PaymentLinkPaymentAttempted",
  "data": {
    "paymentLinkId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "paymentId": "77040d5a-f9d7-4049-baae-0be2e11de4a4",
    "executionTime": "2024-01-01T12:34:56.123456+00:00"
  },
  "retryCount": 0
}
```

### Payment Mandate Webhooks {#payment-mandate-webhooks}

|        **Type**        |                                                    **Description**                                                     |
|------------------------|------------------------------------------------------------------------------------------------------------------------|
| `MandateStatusUpdated` | Triggered when the status of a payment mandate changes. Call the Get payment mandate endpoint to get more information. |

```json
{
  "type": "MandateStatusUpdated",
  "data": {
    "mandateId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00",
    "status": {
      "code": "AUTHORIZATION_FLOW_INCOMPLETE",
      "lastUpdated": "2025-05-12T15:23:39.969894+00:00"
    }
  },
  "retryCount": 0
}
```

### Refund Webhooks {#refund-webhooks}

|       **Type**        |                                           **Description**                                            |
|-----------------------|------------------------------------------------------------------------------------------------------|
| `RefundStatusUpdated` | Triggered when the status of a refund changes. Call the Get refund endpoint to get more information. |

```json
{
  "type": "RefundStatusUpdated",
  "data": {
    "refundId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00",
    "status": {
      "code": "PAYMENT_EXECUTED_DEBITED",
      "lastUpdated": "2025-05-12T15:23:39.969894+00:00"
    }
  },
  "retryCount": 0
}
```

|           **Type**            |                                                                                                                                                                                                                    **Description**                                                                                                                                                                                                                    |
|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `RefundMissedSettlementCycle` | Triggered when a refund should have been initiated during a settlement cycle but did not. Most likely because there were not enough funds on the settlement account. The refund will be retried a number of times until it is ultimately failed. You can top up the settlement account to give it enough liquidity to initiate the refund, or wait until more payments come through. Call the Get Refund endpoint for more information on the refund. |

```json
{
  "type": "RefundMissedSettlementCycle",
  "data": {
    "refundId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00"
  },
  "retryCount": 0
}
```

### Report Webhooks {#report-webhooks}

|       **Type**        |                                           **Description**                                           |
|-----------------------|-----------------------------------------------------------------------------------------------------|
| `ReportStatusUpdated` | Triggered when the status of a report changes. Call the Get report endpoint to getmore information. |

```json
{
  "type": "ReportStatusUpdated",
  "data": {
    "reportId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00"
  },
  "retryCount": 0
}
```

### Merchant Onboarding Webhooks {#merchant-onboarding-webhooks}

|        **Type**        |                                             **Description**                                              |
|------------------------|----------------------------------------------------------------------------------------------------------|
| `MerchantStatusChange` | Triggered when the status of a merchant changes. Call the Get Merchant endpoint to get more information. |

```json
{
  "type": "MerchantStatusChange",
  "data": {
    "merchantId": "acb29db6-70df-4c99-888c-d8485cd40c3d",
    "executionTime": "2024-01-01T12:34:56.123456+00:00"
  },
  "retryCount": 0
}
```

### Field definitions {#field-definitions}

|    **Field name**    |                                                                                                                                                                         **Description**                                                                                                                                                                          |
|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `type`               | The type of webhook you are receiving. The different types are defined above                                                                                                                                                                                                                                                                                     |
| `data.paymentId`     | The ID if the payment                                                                                                                                                                                                                                                                                                                                            |
| `data.paymentLinkId` | The ID of the payment link                                                                                                                                                                                                                                                                                                                                       |
| `data.mandateId`     | The ID of the payment mandate                                                                                                                                                                                                                                                                                                                                    |
| `data.refundId`      | The ID of the refund                                                                                                                                                                                                                                                                                                                                             |
| `data.reportId`      | The ID of the report                                                                                                                                                                                                                                                                                                                                             |
| `data.merchantId`    | The ID of the merchant                                                                                                                                                                                                                                                                                                                                           |
| `data.executionTime` | The date and time when the webhook notification was created                                                                                                                                                                                                                                                                                                      |
| `status.code`        | The current status code - Refer to our [Payment Status Model](https://developer.mastercard.com/ob-accept-payments/documentation/payments/single-immediate-payments/payment-status-model/index.md) and [Mandate Status Model](https://developer.mastercard.com/ob-accept-payments/documentation/payments/cvrp/mandate-status-model/index.md) for more information |
| `status.lastUpdated` | The timestamp for when the status was last updated                                                                                                                                                                                                                                                                                                               |
| `retryCount`         | The number of times we have tried to deliver the webhook                                                                                                                                                                                                                                                                                                         |

