Paycose Docs
FlowEvents

Payout events

What data you get for payout.created, payout.pending, payout.sent, payout.canceled, and payout.failed.

Fires as a payout to your bank account moves from requested to approved, sent, canceled, or failed.

Prop

Type

{
  "id": "po_01J9ABCDEFGHJKMNPQRSTV",
  "object": "payout",
  "customer_id": "cus_01J8XYZABCDEFGHJKMNPQR",
  "bank_account_id": "ba_01J8XYZABCDEFGHJKMNPQR",
  "amount": 500000,
  "application_fee_amount": 1000,
  "net_amount": 499000,
  "currency": "THB",
  "status": "waiting_for_approval",
  "paid": false,
  "sent": false,
  "canceled": false,
  "failed": false,
  "failure_code": "",
  "failure_message": "",
  "metadata": { "settlement_batch": "2026-07-25" }
}

All five events share this shape:

  • .created — opened, status: "waiting_for_approval".
  • .pending — approved and handed to the provider, status: "pending".
  • .sent — the payout settled.
  • .canceled — canceled or rejected before approval.
  • .failed — the provider reported the transfer failed; failure_code / failure_message explain why.

On payout.sent, data.status reads "paid", not "sent" — match on the event name, not the status string.