chore(stripe): Refactor Stripe webhooks #3718
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
This PR is part of upgrading Stripe (clients + API version).
Description
This is extracted from #3300.
You cannot update the
api_version
of an existing WebhookEndpoint. You must create a new WebhookEndpoint with the new version and delete the old one once you migrated. This is the best way to not have any downtime.https://docs.stripe.com/webhooks/versioning
It means to set the version for all our customers, we'll need to recreate the endpoint for all organization. It's fine but I'd rather upgrade to a more recent version before we enforce it in the webhook.
PaymentProviders::StripeService.new.refresh_webhook
by dedicatedRefreshWebhookService
PaymentProviders::StripeService.create_or_update
a little clearer as secrets cannot be updated