# Refund Events

Refund events are triggered throughout the lifecycle of a refund, starting from the moment a refund is created, through the capture of funds from the payee or processor, and concluding with the delivery of funds back to the original payor. These events help ensure your platform can track, audit, and respond to refunds in real time.

GrailPay emits webhook events for each milestone in the refund process: when a refund is requested (`refund.created`) or cancelled (`refund.cancelled`), when the debit ACH that captures funds begins processing, fails, or completes (`refund.capture_processing`, `refund.capture_failed`, `refund.capture_completed`), and when the credit ACH back to the payor begins processing, fails, or completes (`refund.payout_processing`, `refund.payout_failed`, `refund.payout_completed`). Together, these events provide a complete picture of the refund flow.

All payloads below are shown in full, including the [event envelope](/docs/technical/webhooks/events/#event-envelope).

***

## `refund.created`

This webhook is triggered when a new refund has been requested.

```json title="Event"
{
  "event": "refund.created",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.cancelled`

This webhook is triggered when a refund has been cancelled.

```json title="Event"
{
  "event": "refund.cancelled",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.capture_processing`

This webhook is triggered when the ACH debit from the payee's bank account has begun processing.

```json title="Event"
{
  "event": "refund.capture_processing",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.capture_failed`

This webhook is triggered when the ACH debit from the payee's bank account has failed.

```json title="Event"
{
  "event": "refund.capture_failed",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.capture_completed`

This webhook is triggered when the ACH debit from the payee's bank account has completed.

```json title="Event"
{
  "event": "refund.capture_completed",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.payout_processing`

This webhook is triggered when the ACH credit to the payor's bank account has begun processing.

```json title="Event"
{
  "event": "refund.payout_processing",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.payout_failed`

This webhook is triggered when the ACH credit to the payor's bank account has failed.

```json title="Event"
{
  "event": "refund.payout_failed",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```

## `refund.payout_completed`

This webhook is triggered when the ACH credit to the payor's bank account has completed.

```json title="Event"
{
  "event": "refund.payout_completed",
  "event_uuid": "019d072d-1203-7695-842b-a15567fbb0d8",
  "event_occurred_at": "2026-04-05 14:28:33",
  "event_version": 3,
  "vendor_uuid": "019e2711-5a92-735d-a7d5-669aec76b54f",
  "data": {
    "refund": {
      "uuid": "9e77af94-0b25-4a6a-b86c-78b39f845659",
      "transaction_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "client_reference_id": "refund",
      "status": "REFUND_COMPLETE",
      "amount": 170,
      "capture": {
        "trace_id": "ach_11n8xsq11wfpcde",
        "sec_code": "ccd",
        "ach_return_code": "R01",
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payout": {
        "trace_id": "ach_11kxqh0a17ftg64",
        "sec_code": null,
        "ach_return_code": null,
        "bank_identifiers": {
          "debit_bank_id": "ach_11n4zxrp1twjebp",
          "debit_trace_id": "2145642244586478"
        },
        "ach_timestamps": {
          "created_at": "2024-03-20 16:00:28",
          "processed_at": null,
          "sent_at": null,
          "settled_at": "2024-03-20 17:00:27",
          "failed_at": null,
          "cancelled_at": null,
          "declined_at": null
        }
      },
      "payor": {
        "uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "person",
        "name": "John Doe",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "payee": {
        "uuid": "1a437e1f-c112-4534-ac44-2de71cec9f1f",
        "user_uuid": "f3d8c9d1-0b8b-4e79-bc41-8998cbbd58b1",
        "type": "business",
        "name": "Acme Pest Control",
        "processor_mid": null,
        "bank_account": {
          "uuid": "9b97f121-a449-4b52-9f36-6c55f18394d6",
          "aggregator_type": "manual",
          "provider_type": "manual",
          "account_name": "Acme, Inc",
          "account_type": "checking",
          "account_number": "1111222233330000",
          "routing_number": "011401533",
          "institution_name": "Bank of America",
          "aggregator": "mx",
          "is_default": true,
          "client_reference_id": "client-1234",
          "status": "connected",
          "timestamps": {
            "created_at": "2024-06-25 13:57:03"
          }
        }
      },
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "batch": {
        "uuid": "32867d1a-2a81-4521-bd1b-b5d0a3a8df76",
        "refund_count": 4,
        "total_amount": 330
      }
    },
    "relations": {
      "payout": {
        "uuid": "d1c3a7e2-5b8f-4f26-9a6a-6c2e0c4b9f52"
      },
      "transaction": {
        "uuid": "4a9f2d71-8e3c-4b65-a1f7-2f6d0c9b8a34"
      }
    }
  }
}
```