Receivable Transaction Events
Receivable transaction events are triggered when a Payment or Refund is created and linked to a Receivable (invoice). These events help you track when invoices are paid or refunded.
IMPORTANT: If a payer uses a multi-statement checkout link and selects more than one invoice, a separate event will be triggered for each receivable that receives a payment.
Resource Types
The resource.resourceType field indicates the type of transaction related to the receivable event.
| Parameter | Description |
|---|---|
Payment | A payment has been applied to a receivable |
Refund | A refund has been issued for a payment that was previously applied to a receivable |
CreditMemo | A credit memo was applied toward a receivable — fires per credit memo consumed. See Credit memo applied below and Credit Memo Events for the connector-facing correlation pattern on mixed credit + cash/card payments. |
Key Parameters
| Parameter | Description | Example Value |
|---|---|---|
resource.receivableId | Paystand internal ID of the receivable | wbju4wb2hb36n3k2ehtxqev1 |
resource.paymentId | Paystand internal ID of the payment applied. Exception: on a credits-only (100% covered by credit memo) payment, this is a synthetic credit-payment-<timestamp>-<suffix> identifier, not a fetchable Payment record. | 0c2h0zkajp8ipfipmzca0qt6 |
resource.amountApplied | Amount applied to the receivable | 289.82 |
resource.payment.currency | Currency of the payment (only present when resourceType is Payment) | USD |
resource.receivable.extId | External invoice ID from ERP | REC-C4F6D4CE |
resource.receivable.extCustomerId | External customer ID from ERP | CUST-42974F02 |
resource.creditMemo | The full credit memo record applied (only present when resourceType is CreditMemo) — same fields as resource on a credit memo lifecycle event | — |
resource.creditMemo.id | Paystand internal ID of the credit memo applied | 6ep3mgo999n5mrkd8u7swnb3 |
resource.creditMemo.extId | External credit memo ID from ERP | CM-1006 |
Event: Receivable Transaction — Payment Applied
This event is triggered when a payment is applied to a receivable (invoice).
{
"object": "event",
"id": "efgyp64u33j9l4sjjhsk0epv",
"resource": {
"object": "receivableTransaction",
"id": "8ikxuvbnh0o5m92hyon8mimw",
"receivableId": "wbju4wb2hb36n3k2ehtxqev1",
"paymentId": "0c2h0zkajp8ipfipmzca0qt6",
"resourceId": "0c2h0zkajp8ipfipmzca0qt6",
"resourceType": "Payment",
"paymentOrigin": "reminder",
"amountApplied": "289.82",
"status": "active",
"created": "2025-07-11T21:35:00.000Z",
"lastUpdated": "2025-07-11T21:35:00.000Z",
"receivable": {
"object": "receivable",
"id": "wbju4wb2hb36n3k2ehtxqev1",
"amount": "289.82",
"currency": "USD",
"payerEmail": "uluna+psx@paystand.com",
"dateDue": "2025-05-13T00:00:00.000Z",
"datePaid": "2025-07-11T21:35:00.000Z",
"amountPaid": "289.82",
"ownerId": "belg86nbs3ahqbq6a7sbn2ez",
"status": "paid",
"created": "2025-05-15T23:01:31.000Z",
"lastUpdated": "2025-07-11T21:35:00.000Z",
"extId": "REC-C4F6D4CE",
"extCustomerId": "CUST-42974F02"
},
"payment": {
"object": "payment",
"id": "0c2h0zkajp8ipfipmzca0qt6",
"amount": "289.82",
"currency": "USD",
"settlementAmount": "289.82",
"settlementCurrency": "USD",
"sourceId": "r81a3m1u0753k713xx5zklnl",
"sourceType": "Card",
"datePosted": "2025-07-11T21:34:59.000Z",
"status": "posted",
"ownerId": "belg86nbs3ahqbq6a7sbn2ez",
"created": "2025-07-11T21:34:51.000Z",
"lastUpdated": "2025-07-11T21:34:59.000Z",
"payerId": "yl7d5pupdmqkhvbm337tzun1",
"accountKey": "default",
"accountId": "r5zz9p9xto0vokmyp543i7h9",
"balanceChangeId": "x908jv7p2pa5nmksww00owdl"
}
},
"diff": {
"previous": {},
"changes": {
"object": "receivableTransaction",
"id": "8ikxuvbnh0o5m92hyon8mimw",
"receivableId": "wbju4wb2hb36n3k2ehtxqev1",
"paymentId": "0c2h0zkajp8ipfipmzca0qt6",
"resourceId": "0c2h0zkajp8ipfipmzca0qt6",
"resourceType": "Payment",
"paymentOrigin": "reminder",
"amountApplied": "289.82",
"status": "active",
"created": "2025-07-11T21:35:00.000Z",
"lastUpdated": "2025-07-11T21:35:00.000Z"
}
},
"sourceId": "8ikxuvbnh0o5m92hyon8mimw",
"sourceType": "ReceivableTransactions",
"status": "active",
"created": "2025-07-11T21:35:00.000Z",
"lastUpdated": "2025-07-11T21:35:00.000Z"
}
Event: Receivable Transaction — Credit Memo Applied
This event is triggered when a credit memo is applied to a receivable (invoice) — one event per credit memo consumed. On a payment covered entirely by credit memo(s), this is the only receivable_transactions.created event you'll receive for that payment. On a mixed credit + cash/card payment, this event arrives asynchronously (typically about a second after) alongside a Payment-typed sibling event sharing the same resource.paymentId — see Credit Memo Events for that correlation pattern in full. Note the creditMemo sub-object here in place of the payment sub-object seen on Payment-typed events. This applies per credit memo — a payment covering an invoice with two credit memos fires one CreditMemo-typed event per credit memo, each identifying its own contribution.
{
"object": "event",
"id": "9fjq3nz6wg1lk0xm7c2p5btr",
"resource": {
"object": "receivableTransaction",
"id": "hs3vn8xj7q1amewz0k4t2pcy",
"receivableId": "lsbibdvw3qzgnt4naihwhkbc",
"paymentId": "89lu5vyiqq85qbtyqezcrdow",
"resourceId": "6ep3mgo999n5mrkd8u7swnb3",
"resourceType": "CreditMemo",
"paymentOrigin": "reminder",
"amountApplied": "50.00",
"status": "active",
"created": "2026-07-30T22:26:48.000Z",
"lastUpdated": "2026-07-30T22:26:48.000Z",
"receivable": {
"object": "receivable",
"id": "lsbibdvw3qzgnt4naihwhkbc",
"amount": "150.00",
"currency": "USD",
"payerEmail": "payer@example.com",
"dateDue": "2026-08-30T00:00:00.000Z",
"datePaid": "2026-07-30T22:26:47.000Z",
"amountPaid": "150.00",
"ownerId": "belg86nbs3ahqbq6a7sbn2ez",
"status": "paid",
"created": "2026-07-30T21:16:03.000Z",
"lastUpdated": "2026-07-30T22:26:48.000Z",
"extId": "INV-9001",
"extCustomerId": "CUST-001"
},
"creditMemo": {
"object": "creditMemo",
"id": "6ep3mgo999n5mrkd8u7swnb3",
"ownerId": "belg86nbs3ahqbq6a7sbn2ez",
"status": "paid",
"extId": "CM-1006",
"extKey": "CM-1006",
"amount": 50,
"amountRemaining": 0,
"currency": "USD",
"extCreationDate": "2026-07-28T00:00:00.000Z",
"extPostedDate": "2026-07-28T00:00:00.000Z",
"erpName": "PaystandLiteSync",
"created": "2026-07-28T15:10:00.000Z",
"lastUpdated": "2026-07-30T22:26:48.000Z"
}
},
"diff": {
"previous": {},
"changes": {
"object": "receivableTransaction",
"id": "hs3vn8xj7q1amewz0k4t2pcy",
"receivableId": "lsbibdvw3qzgnt4naihwhkbc",
"paymentId": "89lu5vyiqq85qbtyqezcrdow",
"resourceId": "6ep3mgo999n5mrkd8u7swnb3",
"resourceType": "CreditMemo",
"paymentOrigin": "reminder",
"amountApplied": "50.00",
"status": "active",
"created": "2026-07-30T22:26:48.000Z",
"lastUpdated": "2026-07-30T22:26:48.000Z"
}
},
"sourceId": "hs3vn8xj7q1amewz0k4t2pcy",
"sourceType": "ReceivableTransactions",
"status": "active",
"created": "2026-07-30T22:26:48.000Z",
"lastUpdated": "2026-07-30T22:26:48.000Z",
"eventType": "receivable_transactions.created"
}
Event: Receivable Transaction — Refund Applied
This event is triggered when a refund is applied to a receivable.
{
"object": "event",
"id": "menjvzo9c3i4ouy2007jll51",
"resource": {
"object": "receivableTransaction",
"id": "fzx5p6oknfn7iwdx749lsdxz",
"receivableId": "wbju4wb2hb36n3k2ehtxqev1",
"paymentId": "0c2h0zkajp8ipfipmzca0qt6",
"resourceId": "m4t1vcuytk1dibsr6ygu4dkn",
"resourceType": "Refund",
"amountApplied": "289.82",
"status": "active",
"created": "2025-07-14T22:42:10.000Z",
"lastUpdated": "2025-07-14T22:42:10.000Z",
"receivable": {
"object": "receivable",
"id": "wbju4wb2hb36n3k2ehtxqev1",
"amount": "289.82",
"currency": "USD",
"payerEmail": "uluna+psx@paystand.com",
"dateDue": "2025-05-13T00:00:00.000Z",
"datePaid": "2025-07-11T21:35:00.000Z",
"amountPaid": "289.82",
"ownerId": "belg86nbs3ahqbq6a7sbn2ez",
"status": "paid",
"created": "2025-05-15T23:01:31.000Z",
"lastUpdated": "2025-07-11T21:35:00.000Z",
"extId": "REC-C4F6D4CE",
"extCustomerId": "CUST-42974F02"
},
"payment": {
"object": "payment",
"id": "0c2h0zkajp8ipfipmzca0qt6",
"amount": "289.82",
"currency": "USD",
"settlementAmount": "289.82",
"settlementCurrency": "USD",
"sourceId": "r81a3m1u0753k713xx5zklnl",
"sourceType": "Card",
"datePosted": "2025-07-11T21:34:59.000Z",
"datePaid": "2025-07-11T21:35:13.000Z",
"status": "paid",
"ownerId": "belg86nbs3ahqbq6a7sbn2ez",
"created": "2025-07-11T21:34:51.000Z",
"lastUpdated": "2025-07-14T22:42:08.000Z",
"payerId": "yl7d5pupdmqkhvbm337tzun1",
"refundedAmount": 289.82,
"accountKey": "default",
"accountId": "r5zz9p9xto0vokmyp543i7h9",
"balanceChangeId": "x908jv7p2pa5nmksww00owdl",
"feesRefunded": false
}
},
"diff": {
"previous": {},
"changes": {
"object": "receivableTransaction",
"id": "fzx5p6oknfn7iwdx749lsdxz",
"receivableId": "wbju4wb2hb36n3k2ehtxqev1",
"paymentId": "0c2h0zkajp8ipfipmzca0qt6",
"resourceId": "m4t1vcuytk1dibsr6ygu4dkn",
"resourceType": "Refund",
"amountApplied": "289.82",
"status": "active",
"created": "2025-07-14T22:42:10.000Z",
"lastUpdated": "2025-07-14T22:42:10.000Z"
}
},
"sourceId": "fzx5p6oknfn7iwdx749lsdxz",
"sourceType": "ReceivableTransactions",
"status": "active",
"created": "2025-07-14T22:42:10.000Z",
"lastUpdated": "2025-07-14T22:42:10.000Z"
}
Handling Receivable Transaction Events
Best Practices
- Use receivable transaction ID for idempotency: Track processed events using
resource.id - Cross-reference with ERP: Use
resource.receivable.extIdto match with your invoice system - Handle partial payments: Check
amountAppliedvsreceivable.amountfor partial payments - Monitor receivable status: Use
receivable.statusto determine if invoice is fully paid - Track payment origin: Use
paymentOriginto understand how payment was made - Don't assume one event per payment when credit memos are involved: a mixed credit + cash/card payment fires a
Payment-typed event plus oneCreditMemo-typed event per contributing credit memo, correlated by a sharedpaymentId— sum theCreditMemo-typed events'amountAppliedand subtract from thePayment-typed event'samountAppliedto get the cash/card portion
Common Use Cases
- ERP Synchronization: Update invoice status in your accounting system
- Customer Notifications: Send payment confirmations for specific invoices
- Reporting: Generate payment reports by invoice
- Reconciliation: Match payments to specific invoices for accounting
- Refund Processing: Handle refund applications to invoices
Multi-Invoice Payments
When a customer pays multiple invoices in a single transaction:
- You'll receive separate events for each receivable
- Each event will have the same
paymentIdbut differentreceivableId - The
amountAppliedfield shows how much was applied to each invoice - Sum all
amountAppliedamounts to get the total payment amount