Send one durable billing event
Your backend posts the provider, transaction ID, amount in minor units, currency and event type. Purchases, subscription starts, renewals, upgrades, downgrades, refunds, cancellations and churn use the same normalized shape.