When inserting a new subscription cycle, read the actual subscription start/end period, not invoice period #3899
+132
−9
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.
This PR fixes a bug where we process a webhook coming from Stripe when a new subscription is made, or when it renews.
At that time we create a new
subscription_cyclesrecord, which has fieldsperiod_start,period_end, which we read from the event's payload. The issue is that the source of where we are reading these values is wrong - we are reading the invoice period while we should be reading the subscription period which is included in the invoice's line item.So the result of this error is that the subscription cycle periods are lagging 1 month behind. This PR fixes this with a data fix migration and adjusted logic to read the periods from the correct attributes in stripe event's payload.