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

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
💡

Feature Request

Date

About 1 year ago

Author

User

Subscribe to post

Get notified by email when there are changes.