API reference
Webhook events
A2A InstaPay sends a signed event to your endpoint every time a record changes. There are 27 event types. Each event carries the full object after the change and the previous values of the fields that changed.
| Method and body | POST with an Event object as JSON |
| Signature | A2A-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256> over t + "." + raw body, one v1 for each active signing secret |
| Other headers | A2A-Event-Id, A2A-Event-Type |
| Acknowledge | Any 2xx status within 10 seconds. Redirects are not followed. |
| Retries | 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours, 12 hours, 24 hours, then every 12 hours until 72 hours after the first attempt |
| Examples file | One example of every event (JSON) |
Verification code in Node.js, Python and C# is in the webhooks guide.
customer#
customer.verification.updated#
A verification status changes
data.object is a Customer object.
Example event
{
"id": "evt_01Uj8Ik2Ol4",
"object": "event",
"type": "customer.verification.updated",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "cus_c9T2kXq4Lm",
"object": "customer",
"type": "individual",
"external_ref": "member-10482",
"email": "member@example.com",
"mobile_number_last4": "4821",
"business": null,
"verification": {
"status": "approved",
"updated_at": "2026-10-15T14:04:10Z",
"retry_available_at": null
},
"account_id": "acct_c3J8vN2Qe6",
"pin_locked": false,
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 4
},
"previous_attributes": {
"verification": {
"status": "pending"
},
"account_id": null
}
}
}customer.updated#
Customer details change, including the PIN being unlocked
data.object is a Customer object.
Example event
{
"id": "evt_02Uj8Ik2Ol4",
"object": "event",
"type": "customer.updated",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "cus_c9T2kXq4Lm",
"object": "customer",
"type": "individual",
"external_ref": "member-10482",
"email": "member@example.com",
"mobile_number_last4": "4821",
"business": null,
"verification": {
"status": "approved",
"updated_at": "2026-10-15T14:04:10Z",
"retry_available_at": null
},
"account_id": "acct_c3J8vN2Qe6",
"pin_locked": false,
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 4
},
"previous_attributes": {
"pin_locked": true
}
}
}customer.pin_locked#
The PIN is locked after failed attempts
data.object is a Customer object.
Example event
{
"id": "evt_03Uj8Ik2Ol4",
"object": "event",
"type": "customer.pin_locked",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "cus_c9T2kXq4Lm",
"object": "customer",
"type": "individual",
"external_ref": "member-10482",
"email": "member@example.com",
"mobile_number_last4": "4821",
"business": null,
"verification": {
"status": "approved",
"updated_at": "2026-10-15T14:04:10Z",
"retry_available_at": null
},
"account_id": "acct_c3J8vN2Qe6",
"pin_locked": true,
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 4
},
"previous_attributes": {
"pin_locked": false
}
}
}account#
account.created#
A Digital Account is opened
data.object is a Account object.
Example event
{
"id": "evt_04Uj8Ik2Ol4",
"object": "event",
"type": "account.created",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "acct_c3J8vN2Qe6",
"object": "account",
"customer_id": "cus_c9T2kXq4Lm",
"type": "consumer",
"status": "active",
"currency": "USD",
"opened_at": "2026-10-15T14:04:10Z",
"closed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 1
},
"previous_attributes": null
}
}account.suspended#
An account is suspended
data.object is a Account object.
Example event
{
"id": "evt_05Uj8Ik2Ol4",
"object": "event",
"type": "account.suspended",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "acct_c3J8vN2Qe6",
"object": "account",
"customer_id": "cus_c9T2kXq4Lm",
"type": "consumer",
"status": "suspended",
"currency": "USD",
"opened_at": "2026-10-15T14:04:10Z",
"closed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "active"
}
}
}account.reactivated#
A suspended account is reactivated
data.object is a Account object.
Example event
{
"id": "evt_06Uj8Ik2Ol4",
"object": "event",
"type": "account.reactivated",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "acct_c3J8vN2Qe6",
"object": "account",
"customer_id": "cus_c9T2kXq4Lm",
"type": "consumer",
"status": "active",
"currency": "USD",
"opened_at": "2026-10-15T14:04:10Z",
"closed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "suspended"
}
}
}account.dormant#
An account becomes dormant
data.object is a Account object.
Example event
{
"id": "evt_07Uj8Ik2Ol4",
"object": "event",
"type": "account.dormant",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "acct_c3J8vN2Qe6",
"object": "account",
"customer_id": "cus_c9T2kXq4Lm",
"type": "consumer",
"status": "dormant",
"currency": "USD",
"opened_at": "2026-10-15T14:04:10Z",
"closed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "active"
}
}
}account.closed#
An account is closed
data.object is a Account object.
Example event
{
"id": "evt_08Uj8Ik2Ol4",
"object": "event",
"type": "account.closed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "acct_c3J8vN2Qe6",
"object": "account",
"customer_id": "cus_c9T2kXq4Lm",
"type": "consumer",
"status": "closed",
"currency": "USD",
"opened_at": "2026-10-15T14:04:10Z",
"closed_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "closing"
}
}
}linked account#
linked_account.verified#
A linked account passes its checks
data.object is a LinkedAccount object.
Example event
{
"id": "evt_09Uj8Ik2Ol4",
"object": "event",
"type": "linked_account.verified",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "la_5Gh2Xw8Pq1",
"object": "linked_account",
"customer_id": "cus_c9T2kXq4Lm",
"status": "verified",
"institution_name": "First Community Bank",
"account_type": "checking",
"account_mask": "6623",
"capabilities": {
"withdrawal": true,
"load": true,
"pay_by_bank": true
},
"withdrawal_hold_until": "2026-10-16T14:05:41Z",
"failure_code": null,
"created_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 3
},
"previous_attributes": {
"status": "pending"
}
}
}linked_account.failed#
A linked account fails its checks
data.object is a LinkedAccount object.
Example event
{
"id": "evt_10Uj8Ik2Ol4",
"object": "event",
"type": "linked_account.failed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "la_5Gh2Xw8Pq1",
"object": "linked_account",
"customer_id": "cus_c9T2kXq4Lm",
"status": "failed",
"institution_name": "First Community Bank",
"account_type": "checking",
"account_mask": "6623",
"capabilities": {
"withdrawal": false,
"load": false,
"pay_by_bank": false
},
"withdrawal_hold_until": null,
"failure_code": "ownership_mismatch",
"created_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 3
},
"previous_attributes": {
"status": "held_for_review"
}
}
}linked_account.removed#
A linked account is removed
data.object is a LinkedAccount object.
Example event
{
"id": "evt_11Uj8Ik2Ol4",
"object": "event",
"type": "linked_account.removed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "la_5Gh2Xw8Pq1",
"object": "linked_account",
"customer_id": "cus_c9T2kXq4Lm",
"status": "removed",
"institution_name": "First Community Bank",
"account_type": "checking",
"account_mask": "6623",
"capabilities": {
"withdrawal": false,
"load": false,
"pay_by_bank": false
},
"withdrawal_hold_until": null,
"failure_code": null,
"created_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 3
},
"previous_attributes": {
"status": "verified"
}
}
}load#
load.settled#
A load is credited
data.object is a Load object.
Example event
{
"id": "evt_12Uj8Ik2Ol4",
"object": "event",
"type": "load.settled",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:05:41Z",
"data": {
"object": {
"id": "load_7Ty4Ui2Op9",
"object": "load",
"customer_id": "cus_c9T2kXq4Lm",
"account_id": "acct_c3J8vN2Qe6",
"linked_account_id": "la_5Gh2Xw8Pq1",
"amount": 10000,
"currency": "USD",
"status": "settled",
"failure_code": null,
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"settled_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:05:41Z",
"version": 2
},
"previous_attributes": {
"status": "processing"
}
}
}load.failed#
A load fails
data.object is a Load object.
Example event
{
"id": "evt_13Uj8Ik2Ol4",
"object": "event",
"type": "load.failed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:05:41Z",
"data": {
"object": {
"id": "load_7Ty4Ui2Op9",
"object": "load",
"customer_id": "cus_c9T2kXq4Lm",
"account_id": "acct_c3J8vN2Qe6",
"linked_account_id": "la_5Gh2Xw8Pq1",
"amount": 10000,
"currency": "USD",
"status": "failed",
"failure_code": "request_expired",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"settled_at": null,
"updated_at": "2026-10-15T14:05:41Z",
"version": 2
},
"previous_attributes": {
"status": "processing"
}
}
}payment request#
payment_request.paid#
A dynamic payment request is paid
data.object is a PaymentRequest object.
Example event
{
"id": "evt_14Uj8Ik2Ol4",
"object": "event",
"type": "payment_request.paid",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pr_1Zx4Cv7Bn5",
"object": "payment_request",
"type": "dynamic",
"merchant_customer_id": "cus_m7R5pWz1Hd",
"amount": 2500,
"currency": "USD",
"order_reference": "ORD-55120",
"collection_point": null,
"status": "paid",
"qr_payload": "A2AQR1.pr_1Zx4Cv7Bn5.MEUCIQDf3k9sample",
"expires_at": "2026-10-22T14:03:22Z",
"paid_payment_id": "pay_3As6Df9Gh2",
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "open"
}
}
}payment_request.expired#
A dynamic payment request expires
data.object is a PaymentRequest object.
Example event
{
"id": "evt_15Uj8Ik2Ol4",
"object": "event",
"type": "payment_request.expired",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pr_1Zx4Cv7Bn5",
"object": "payment_request",
"type": "dynamic",
"merchant_customer_id": "cus_m7R5pWz1Hd",
"amount": 2500,
"currency": "USD",
"order_reference": "ORD-55120",
"collection_point": null,
"status": "expired",
"qr_payload": "A2AQR1.pr_1Zx4Cv7Bn5.MEUCIQDf3k9sample",
"expires_at": "2026-10-22T14:03:22Z",
"paid_payment_id": null,
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "open"
}
}
}payment_request.canceled#
A payment request is canceled
data.object is a PaymentRequest object.
Example event
{
"id": "evt_16Uj8Ik2Ol4",
"object": "event",
"type": "payment_request.canceled",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pr_1Zx4Cv7Bn5",
"object": "payment_request",
"type": "dynamic",
"merchant_customer_id": "cus_m7R5pWz1Hd",
"amount": 2500,
"currency": "USD",
"order_reference": "ORD-55120",
"collection_point": null,
"status": "canceled",
"qr_payload": "A2AQR1.pr_1Zx4Cv7Bn5.MEUCIQDf3k9sample",
"expires_at": "2026-10-22T14:03:22Z",
"paid_payment_id": null,
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "open"
}
}
}payment#
payment.processing#
A pay by bank payment is confirmed and the Request for Payment is sent
data.object is a Payment object.
Example event
{
"id": "evt_17Uj8Ik2Ol4",
"object": "event",
"type": "payment.processing",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pay_3As6Df9Gh2",
"object": "payment",
"type": "consumer_to_merchant",
"source": "bank_account",
"payer_customer_id": "cus_c9T2kXq4Lm",
"payee_customer_id": "cus_m7R5pWz1Hd",
"payment_request_id": "pr_1Zx4Cv7Bn5",
"amount": 2500,
"currency": "USD",
"fees": [
{
"type": "platform",
"amount": 50,
"paid_by": "payee"
}
],
"net_amount": 2450,
"refunded_amount": 0,
"status": "processing",
"failure_code": null,
"order_reference": "ORD-55120",
"invoice_reference": null,
"description": "Order 55120",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"completed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "requires_confirmation"
}
}
}payment.completed#
A payment is completed and the merchant credited
data.object is a Payment object.
Example event
{
"id": "evt_18Uj8Ik2Ol4",
"object": "event",
"type": "payment.completed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pay_3As6Df9Gh2",
"object": "payment",
"type": "consumer_to_merchant",
"source": "balance",
"payer_customer_id": "cus_c9T2kXq4Lm",
"payee_customer_id": "cus_m7R5pWz1Hd",
"payment_request_id": "pr_1Zx4Cv7Bn5",
"amount": 2500,
"currency": "USD",
"fees": [
{
"type": "platform",
"amount": 50,
"paid_by": "payee"
}
],
"net_amount": 2450,
"refunded_amount": 0,
"status": "completed",
"failure_code": null,
"order_reference": "ORD-55120",
"invoice_reference": null,
"description": "Order 55120",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"completed_at": "2026-10-15T14:04:10Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "requires_confirmation"
}
}
}payment.failed#
A payment fails
data.object is a Payment object.
Example event
{
"id": "evt_19Uj8Ik2Ol4",
"object": "event",
"type": "payment.failed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pay_3As6Df9Gh2",
"object": "payment",
"type": "consumer_to_merchant",
"source": "bank_account",
"payer_customer_id": "cus_c9T2kXq4Lm",
"payee_customer_id": "cus_m7R5pWz1Hd",
"payment_request_id": "pr_1Zx4Cv7Bn5",
"amount": 2500,
"currency": "USD",
"fees": [
{
"type": "platform",
"amount": 50,
"paid_by": "payee"
}
],
"net_amount": 2450,
"refunded_amount": 0,
"status": "failed",
"failure_code": "declined_by_customer",
"order_reference": "ORD-55120",
"invoice_reference": null,
"description": "Order 55120",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"completed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "processing"
}
}
}payment.canceled#
A payment is canceled before confirmation
data.object is a Payment object.
Example event
{
"id": "evt_20Uj8Ik2Ol4",
"object": "event",
"type": "payment.canceled",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pay_3As6Df9Gh2",
"object": "payment",
"type": "consumer_to_merchant",
"source": "balance",
"payer_customer_id": "cus_c9T2kXq4Lm",
"payee_customer_id": "cus_m7R5pWz1Hd",
"payment_request_id": "pr_1Zx4Cv7Bn5",
"amount": 2500,
"currency": "USD",
"fees": [
{
"type": "platform",
"amount": 50,
"paid_by": "payee"
}
],
"net_amount": 2450,
"refunded_amount": 0,
"status": "canceled",
"failure_code": "confirmation_expired",
"order_reference": "ORD-55120",
"invoice_reference": null,
"description": "Order 55120",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": null,
"completed_at": null,
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "requires_confirmation"
}
}
}payment.refunded#
A payment is refunded in full
data.object is a Payment object.
Example event
{
"id": "evt_21Uj8Ik2Ol4",
"object": "event",
"type": "payment.refunded",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pay_3As6Df9Gh2",
"object": "payment",
"type": "consumer_to_merchant",
"source": "balance",
"payer_customer_id": "cus_c9T2kXq4Lm",
"payee_customer_id": "cus_m7R5pWz1Hd",
"payment_request_id": "pr_1Zx4Cv7Bn5",
"amount": 2500,
"currency": "USD",
"fees": [
{
"type": "platform",
"amount": 50,
"paid_by": "payee"
}
],
"net_amount": 2450,
"refunded_amount": 2500,
"status": "refunded",
"failure_code": null,
"order_reference": "ORD-55120",
"invoice_reference": null,
"description": "Order 55120",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"completed_at": "2026-10-15T14:04:10Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "completed",
"refunded_amount": 0
}
}
}payment.partially_refunded#
Part of a payment is refunded
data.object is a Payment object.
Example event
{
"id": "evt_22Uj8Ik2Ol4",
"object": "event",
"type": "payment.partially_refunded",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "pay_3As6Df9Gh2",
"object": "payment",
"type": "consumer_to_merchant",
"source": "balance",
"payer_customer_id": "cus_c9T2kXq4Lm",
"payee_customer_id": "cus_m7R5pWz1Hd",
"payment_request_id": "pr_1Zx4Cv7Bn5",
"amount": 2500,
"currency": "USD",
"fees": [
{
"type": "platform",
"amount": 50,
"paid_by": "payee"
}
],
"net_amount": 2450,
"refunded_amount": 1000,
"status": "partially_refunded",
"failure_code": null,
"order_reference": "ORD-55120",
"invoice_reference": null,
"description": "Order 55120",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"completed_at": "2026-10-15T14:04:10Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "completed",
"refunded_amount": 0
}
}
}withdrawal#
withdrawal.settled#
A withdrawal is final
data.object is a Withdrawal object.
Example event
{
"id": "evt_23Uj8Ik2Ol4",
"object": "event",
"type": "withdrawal.settled",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:05:41Z",
"data": {
"object": {
"id": "wd_6Mn3Bv8Cx1",
"object": "withdrawal",
"customer_id": "cus_m7R5pWz1Hd",
"account_id": "acct_m4K1sB7Yt9",
"linked_account_id": "la_9Kj3Hg6Fd2",
"amount": 50000,
"currency": "USD",
"status": "settled",
"failure_code": null,
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"settled_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:05:41Z",
"version": 2
},
"previous_attributes": {
"status": "processing"
}
}
}withdrawal.failed#
A withdrawal fails and the reserved amount is released
data.object is a Withdrawal object.
Example event
{
"id": "evt_24Uj8Ik2Ol4",
"object": "event",
"type": "withdrawal.failed",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:05:41Z",
"data": {
"object": {
"id": "wd_6Mn3Bv8Cx1",
"object": "withdrawal",
"customer_id": "cus_m7R5pWz1Hd",
"account_id": "acct_m4K1sB7Yt9",
"linked_account_id": "la_9Kj3Hg6Fd2",
"amount": 50000,
"currency": "USD",
"status": "failed",
"failure_code": "rejected_by_bank",
"created_at": "2026-10-15T14:03:22Z",
"confirmed_at": "2026-10-15T14:04:10Z",
"settled_at": null,
"updated_at": "2026-10-15T14:05:41Z",
"version": 2
},
"previous_attributes": {
"status": "processing"
}
}
}refund#
refund.updated#
A refund status changes
data.object is a Refund object.
Example event
{
"id": "evt_25Uj8Ik2Ol4",
"object": "event",
"type": "refund.updated",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:05:41Z",
"data": {
"object": {
"id": "rf_4Lk7Jh2Gf9",
"object": "refund",
"payment_id": "pay_3As6Df9Gh2",
"merchant_customer_id": "cus_m7R5pWz1Hd",
"payer_customer_id": "cus_c9T2kXq4Lm",
"amount": 1000,
"currency": "USD",
"reason": "requested_by_customer",
"destination": "balance",
"status": "completed",
"failure_code": null,
"created_at": "2026-10-15T14:03:22Z",
"completed_at": "2026-10-15T14:05:41Z",
"updated_at": "2026-10-15T14:05:41Z",
"version": 2
},
"previous_attributes": {
"status": "processing"
}
}
}dispute#
dispute.updated#
A dispute status changes
data.object is a Dispute object.
Example event
{
"id": "evt_26Uj8Ik2Ol4",
"object": "event",
"type": "dispute.updated",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "dsp_9Po2Iu5Yt3",
"object": "dispute",
"customer_id": "cus_c9T2kXq4Lm",
"type": "unauthorized_transfer",
"payment_id": "pay_3As6Df9Gh2",
"transaction_id": null,
"description": "I did not make this payment.",
"regulation_e": true,
"notice_received_at": "2026-10-15T13:40:00Z",
"status": "provisional_credit",
"provisional_credit_amount": 2500,
"outcome": null,
"resolved_at": null,
"created_at": "2026-10-15T14:03:22Z",
"updated_at": "2026-10-15T14:04:10Z",
"version": 2
},
"previous_attributes": {
"status": "investigating"
}
}
}statement#
statement.available#
A periodic statement is available
data.object is a Statement object.
Example event
{
"id": "evt_27Uj8Ik2Ol4",
"object": "event",
"type": "statement.available",
"api_version": "v1",
"environment": "sandbox",
"created_at": "2026-10-15T14:04:10Z",
"data": {
"object": {
"id": "stmt_7Rf4Tg1Yh6",
"object": "statement",
"account_id": "acct_c3J8vN2Qe6",
"period_start": "2026-09-01",
"period_end": "2026-09-30",
"opening_balance": 0,
"closing_balance": 15000,
"currency": "USD",
"download_url": "https://files.example-a2a.test/statements/stmt_7Rf4Tg1Yh6.pdf?sig=redacted",
"download_url_expires_at": "2026-10-15T14:20:22Z",
"available_at": "2026-10-01T09:00:00Z"
},
"previous_attributes": null
}
}