Add a field like transaction_reason for subscription.paid
Regarding the webhook events for initial purchase and renewal payments: while you provide subscription.active and checkout.completed in addition to subscription.paid, there’s currently no guaranteed sequence in which these webhooks are triggered. This makes it difficult to reliably distinguish between a first-time purchase and a renewal.
I’d like to suggest an improvement to the subscription.paid webhook:
Consider adding a field like transaction_reason, similar to Apple’s implementation, to clearly indicate whether the transaction is a PURCHASE or a RENEWAL. For example:
class TransactionReason(enum.StrEnum):
PURCHASE = "PURCHASE"
RENEWAL = "RENEWAL"
This addition would significantly simplify webhook handling and improve reliability for merchants.
Best regards,
Andy
Log in to comment and vote
No comments yet
Be the first to share your thoughts.