Paycose Docs
FlowEvents

Invoice events

What data you get for invoice.created, .finalized, .finalization_failed, .paid, .payment_failed, .payment_action_required, .overdue, .updated, .uncollectible, .void, and .creditnote.updated.

Fires as an invoice moves through its lifecycle — created, finalized, paid, failed, overdue, voided, or adjusted by a credit note.

Prop

Type

{
  "id": "in_01J9ABCDEFGHJKMNPQRSTV",
  "object": "invoice",
  "number": "INV-2026-000123",
  "subscription_id": "sub_01J8XYZABCDEFGHJKMNPQR",
  "customer_id": "cus_01J8XYZABCDEFGHJKMNPQR",
  "customer_name": "Somchai Jaidee",
  "customer_email": "somchai@example.com",
  "line_items": [
    {
      "product_name": "Pro plan",
      "description": "Pro plan — monthly",
      "unit_amount": 150000,
      "quantity": 1,
      "amount_total": 150000,
      "currency": "THB"
    }
  ],
  "total": 150000,
  "amount_due": 150000,
  "amount_paid": 150000,
  "amount_remaining": 0,
  "currency": "THB",
  "status": "paid",
  "status_transitions": {
    "finalized_at": 1785006005,
    "paid_at": 1785000000,
    "voided_at": null,
    "marked_uncollectible_at": null
  }
}

All eleven events share this shape — the full invoice. Only status and the matching status_transitions field change (finalized_at, paid_at, voided_at, marked_uncollectible_at).

status_transitions timestamps are Unix epoch seconds — every other timestamp on this page is a date/time string.

invoice.creditnote.updated carries the invoice (with recomputed totals), not the credit note itself. See Credit note events for credit_note.*, which is a different event.