Payments
New to webhooks? Start with Getting started (envelope, delivery, retries) and Verification (confirming a request came from Grow CRM). Those conventions apply to every event below and are not repeated here.Payments expose four keys:
payment.created, payment.updated, payment.deleted,
payment.sundry. There is no payment.activity — payments have no comments, attachments, or
logs in core.
One core event, two webhooks
Recording a payment against an invoice always firespayment.created. If that payment brings the
invoice’s balance to fully paid, the same underlying action also fires
invoice.updated with change: "paid" — subscribe to both if you
need to know both “a payment came in” and “this invoice is now settled”.
The payment object
Every key except.deleted carries this shape, either flat (.created) or nested under payment
(.updated/.sundry):
payment.created
Fires when a payment is recorded against an invoice.
payment.updated
Fires on a significant change. data.change tells you which; data.payment is the full object.
payment.sundry
Fires on a minor, cosmetic field edit. data.field names it; data.payment is the full object
(same shape as .updated, just a lower-significance discriminator).
payment.deleted
Fires after the payment is deleted. data is just the id — the record no longer exists to describe.
Payments are deleted through the same route whether one or several are selected, so this can fire
for a single payment even though the underlying action supports multiple.
