> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.paywithatoa.co.uk/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Status Webhook Payload

> Reference for the Atoa 'process Payment Webhook Response' webhook payload, the fields Atoa sends and an example JSON body to handle.

Delivered when a payment is completed, pending, or fails. Same payload structure for Pay by Bank and Card on File.

| Status         | Description                                                                                                                |
| -------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **COMPLETED**  | Payment processed successfully. Funds have been transferred to the merchant's account.                                     |
| **PENDING**    | Payment is in progress and awaiting final confirmation from the bank.                                                      |
| **FAILED**     | Transaction was unsuccessful. The customer will have to retry the payment.                                                 |
| **AUTHORIZED** | Card payment has been authorized but not yet captured. Only for `MANUAL_CAPTURE` or `CAPTURE_BEFORE_EXPIRY` card payments. |
| **CANCELLED**  | An authorized card payment was cancelled before capture.                                                                   |

<Info>
  **Card on File:** Card payments use the same payload with card-specific statuses (`AUTHORIZED`, `CANCELLED`). Use `transactionType` (`CARD` vs `OPEN_BANKING`) to distinguish payment types. See the [Card on File guide](/api-reference/CardOnFile/introduction) for details.
</Info>

<Info>
  **V2 Webhook Signing:** If you have enabled [V2 webhook signing](/api-reference/Webhook/v2-signing), the `signatureHash` and `signature` fields are removed from the payload and an `eventType` field is added. The webhook signature is delivered in the `X-Atoa-Signature` HTTP header instead.
</Info>

<ResponseExample>
  ```json Pay by Bank theme={null}
  {
    "merchantId": "41a77f74-8b67-4f04-be50-c8dd5ad8836f",
    "customerId": "Abcam",
    "consumerId": "60513141-4d0f-4d3d-9c8a-cc1bd61f40fd",
    "merchantName": "John doe",
    "paymentIdempotencyId": "ATOA1695808662681",
    "status": "COMPLETED",
    "statusDetails": null,
    "paidAmount": "1005",
    "tipAmount": "5.00",
    "currency": "GBP",
    "createdAt": "2023-09-27T09:57:50.067Z",
    "updatedAt": "2023-09-27T09:57:50.067Z",
    "taxAmount": 50.25,
    "serviceAmount": 30.15,
    "storeDetails": {
      "id": "ee39ecfa-e336-461c-a957-1adc76ac087c",
      "address": "Welwyn Garden City, Hertfordshire",
      "locationName": "DEFAULT"
    },
    "orderId": "003decb3-c35",
    "paymentRequestId": "6d1803f8-038a-48f3-8cd4-b44d37a3ab91",
    "signatureHash": "1ea6ff07ca90ec4ca34dfd3b420dcdfe5db2d73e3a5de05e5379e8aa325a5e2e",
    "errorDescription": "null",
    "redirectUrlParams": "{}",
    "redirectUrl": "https://paywithatoa.co.uk",
    "splitBill": false,
    "notes": "Transaction notes",
    "metadata": {
      "bookingId": "BK-42427",
      "orderReference": "ORD-1"
    }
  }
  ```

  <Info>
    Only present when metadata was supplied on the payment. See [Process Payment](/api-reference/Payment/process-payment) for the field limits.
  </Info>

  ```json Card - Completed theme={null}
  {
    "merchantId": "41a77f74-8b67-4f04-be50-c8dd5ad8836f",
    "customerId": "550e8400-e29b-41d4-a716-446655440000",
    "consumerId": "60513141-4d0f-4d3d-9c8a-cc1bd61f40fd",
    "merchantName": "My Shop",
    "paymentIdempotencyId": "ATOA1695808662681",
    "status": "COMPLETED",
    "statusDetails": null,
    "paidAmount": 10.50,
    "tipAmount": 0,
    "currency": "GBP",
    "createdAt": "2025-06-15T10:30:00.000Z",
    "updatedAt": "2025-06-15T10:31:00.000Z",
    "taxAmount": 0,
    "serviceAmount": 0,
    "transactionType": "CARD",
    "storeDetails": {
      "id": "d77e02d5-4e93-46cf-a8be-50da650df562",
      "address": "London",
      "locationName": "London Store"
    },
    "orderId": "ORDER-001",
    "paymentRequestId": "9baa68d8-362a-4127-994d-2ea622ef35ee",
    "signatureHash": "1ea6ff07ca90ec4ca34dfd3b420dcdfe5db2d73e3a5de05e5379e8aa325a5e2e",
    "errorDescription": null,
    "redirectUrlParams": "{}",
    "splitBill": false,
    "notes": "Payment for order #001",
    "metadata": {
      "bookingId": "BK-42427",
      "orderReference": "ORD-1"
    }
  }
  ```

  ```json Card - Authorized theme={null}
  {
    "merchantId": "41a77f74-8b67-4f04-be50-c8dd5ad8836f",
    "customerId": "550e8400-e29b-41d4-a716-446655440000",
    "consumerId": "60513141-4d0f-4d3d-9c8a-cc1bd61f40fd",
    "merchantName": "My Shop",
    "paymentIdempotencyId": "ATOA1695808662681",
    "status": "AUTHORIZED",
    "statusDetails": null,
    "paidAmount": 10.50,
    "tipAmount": 0,
    "currency": "GBP",
    "createdAt": "2025-06-15T10:30:00.000Z",
    "updatedAt": "2025-06-15T10:30:05.000Z",
    "taxAmount": 0,
    "serviceAmount": 0,
    "transactionType": "CARD",
    "storeDetails": {
      "id": "d77e02d5-4e93-46cf-a8be-50da650df562",
      "address": "London",
      "locationName": "London Store"
    },
    "orderId": "ORDER-002",
    "paymentRequestId": "9baa68d8-362a-4127-994d-2ea622ef35ee",
    "signatureHash": "1ea6ff07ca90ec4ca34dfd3b420dcdfe5db2d73e3a5de05e5379e8aa325a5e2e",
    "errorDescription": null,
    "redirectUrlParams": "{}",
    "splitBill": false,
    "notes": "Manual capture payment"
  }
  ```

  ```json Card - Failed theme={null}
  {
    "merchantId": "41a77f74-8b67-4f04-be50-c8dd5ad8836f",
    "customerId": "550e8400-e29b-41d4-a716-446655440000",
    "consumerId": "60513141-4d0f-4d3d-9c8a-cc1bd61f40fd",
    "merchantName": "My Shop",
    "paymentIdempotencyId": "ATOA1695808662681",
    "status": "FAILED",
    "statusDetails": null,
    "paidAmount": 10.50,
    "tipAmount": 0,
    "currency": "GBP",
    "createdAt": "2025-06-15T10:30:00.000Z",
    "updatedAt": "2025-06-15T10:30:05.000Z",
    "taxAmount": 0,
    "serviceAmount": 0,
    "transactionType": "CARD",
    "storeDetails": {
      "id": "d77e02d5-4e93-46cf-a8be-50da650df562",
      "address": "London",
      "locationName": "London Store"
    },
    "orderId": "ORDER-003",
    "paymentRequestId": "9baa68d8-362a-4127-994d-2ea622ef35ee",
    "signatureHash": "1ea6ff07ca90ec4ca34dfd3b420dcdfe5db2d73e3a5de05e5379e8aa325a5e2e",
    "errorDescription": "Card processing error. Please try a different card.",
    "redirectUrlParams": "{}",
    "splitBill": false,
    "notes": "Payment attempt",
    "metadata": {
      "bookingId": "BK-42427",
      "orderReference": "ORD-1"
    }
  }
  ```
</ResponseExample>
