ingestlayer/recipes

Track successful payments

Surface the payments that matter — a big invoice cleared, an annual renewed — without drowning the channel in every routine charge.

the event

Emit payment.succeeded once; route it anywhere below.

  • customer_idstring
  • amountnumberminor units
  • currencystringISO 4217
  • invoice_idstring
  • methodstringcard | sepa | invoice
emit payment.succeeded
import { ingest } from "@ingestlayer/sdk";

await ingest("payment.succeeded", {
  customer_id: charge.customer,
  amount:      charge.amount,
  currency:    charge.currency,
  invoice_id:  charge.invoice,
  method:      charge.payment_method_type,
}, {
  idempotencyKey: charge.id,
});

send it to