Skip to main content

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.

ParameterDescription
PaymentA payment has been applied to a receivable
RefundA refund has been issued for a payment that was previously applied to a receivable
CreditMemoA 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

ParameterDescriptionExample Value
resource.receivableIdPaystand internal ID of the receivablewbju4wb2hb36n3k2ehtxqev1
resource.paymentIdPaystand 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.amountAppliedAmount applied to the receivable289.82
resource.payment.currencyCurrency of the payment (only present when resourceType is Payment)USD
resource.receivable.extIdExternal invoice ID from ERPREC-C4F6D4CE
resource.receivable.extCustomerIdExternal customer ID from ERPCUST-42974F02
resource.creditMemoThe full credit memo record applied (only present when resourceType is CreditMemo) — same fields as resource on a credit memo lifecycle event
resource.creditMemo.idPaystand internal ID of the credit memo applied6ep3mgo999n5mrkd8u7swnb3
resource.creditMemo.extIdExternal credit memo ID from ERPCM-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

  1. Use receivable transaction ID for idempotency: Track processed events using resource.id
  2. Cross-reference with ERP: Use resource.receivable.extId to match with your invoice system
  3. Handle partial payments: Check amountApplied vs receivable.amount for partial payments
  4. Monitor receivable status: Use receivable.status to determine if invoice is fully paid
  5. Track payment origin: Use paymentOrigin to understand how payment was made
  6. Don't assume one event per payment when credit memos are involved: a mixed credit + cash/card payment fires a Payment-typed event plus one CreditMemo-typed event per contributing credit memo, correlated by a shared paymentId — sum the CreditMemo-typed events' amountApplied and subtract from the Payment-typed event's amountApplied to 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 paymentId but different receivableId
  • The amountApplied field shows how much was applied to each invoice
  • Sum all amountApplied amounts to get the total payment amount