-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue/2305 #2312
base: dev
Are you sure you want to change the base?
Issue/2305 #2312
Conversation
4cba9a3
to
19a3d8c
Compare
I'm realizing the trials require some additional analysis to be made, e.g. what happens to the first recurring payment when the trial has not been paid? Use case:
When you switch the source, because of the issue #2305, all the gateways, as of now, will ask you to pay the first recurring payment, basically skipping the payment of the trial, and the next recurring payment will be calculated based on the recurring payment rule, so 1 month starting from:
I'm thinking that when the trial ends if you haven't paid it no recurring payment should ever be requested and the order should go to "failed" status, or at least you shouldn't be able to switch the source at all. I think that we should prevent source switching for orders with unpaid trials when the trial ended, and we'll be fine. I'm turning this PR to a draft while we think to a better solution. I'm going extrapolate the performance improvements from this and turn that part into a new PR. |
Description
Fixes #2305 for the part that regards to LifterLMS core.
Basically makes sure that if there's a trial transaction yet to be paid, when switching source, the trial price rather than the recurring payments price is displayed.
This is a minor fix, the important fix must be made on each payment gateway.
While there I also added some minor performance improvements by using the so called silver bulletno_found_rows
when retrieving transactions without the need of pagination information, or total count.How has this been tested?
manually and new unit tests
Screenshots
Types of changes
Bug fix (non-breaking change which fixes an issue)
Checklist: