payment.received
Fired when a recurring payment is processed
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
invoiceIdstring
The invoice ID.
invoiceNumberstring
The human-readable invoice number.
invoiceTotalnumber
Invoice total in cents (100 = $1.00).
customerIdstring
The customer ID.
subscriptionIdstring
The subscription ID.
paymentTransactionIdstring
The payment transaction ID.
grossAmountnumber
Gross amount in cents before fees.
currencystring
The payment currency code.
orgNetAmountnumber
Net amount after fees in cents.
customerEmailstring | null
The customer email used for this payment.
paidAtstring | null
ISO 8601 datetime when the payment was received.
{
"event": "payment.received",
"timestamp": "2026-04-25T00:05:00.000Z",
"organizationId": "org_abc123",
"data": {
"invoiceId": "inv_n4o5p6",
"invoiceNumber": "INV-0043",
"invoiceTotal": 9900,
"customerId": "cus_8h9i0j",
"subscriptionId": "sub_1a2b3c4d",
"paymentTransactionId": "ptx_q7r8s9",
"grossAmount": 9900,
"currency": "usd",
"orgNetAmount": 9200,
"customerEmail": "billing@acme.com",
"paidAt": "2026-04-25T00:05:00.000Z"
}
}How is this guide?