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 bodyPOST with an Event object as JSON
SignatureA2A-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256> over t + "." + raw body, one v1 for each active signing secret
Other headersA2A-Event-Id, A2A-Event-Type
AcknowledgeAny 2xx status within 10 seconds. Redirects are not followed.
Retries1 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 fileOne 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
  }
}