-
Notifications
You must be signed in to change notification settings - Fork 69
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
Verify the migrated subscription has a valid WooPayments payment token before completing the migration #7178
Conversation
Test the buildOption 1. Jetpack Beta
Option 2. Jurassic Ninja - available for logged-in A12s🚀 Launch a JN site with this branch 🚀 ℹ️ Install this Tampermonkey script to get more options. Build info:
Note: the build is updated when a new commit is pushed to this PR. |
Size Change: 0 B Total Size: 1.41 MB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good to me. I've tested the following scenarios:
- Base case - Stripe Billing subscription with matching tokens are skipped.
- Cancelled subscription ignored.
- Subscription which changed payment method. Fixed with Fix changing Stripe Billing payment method which wasn't cancelling at Stripe #7195
- Token doesn't match and doesn't exist in Woo.
- Token doesn't match but does exist in Woo.
- No token on subscription but it does exist in Woo.
- No token on subscription and it doesn't exist in Woo
After each test, I also made sure that processing a payment using tokenised WooPayments worked after the migration.
Error conditions:
- No default payment method on the Stripe Billing Subscription.
- 👍 It just skips over the token check.
- Failed payment token creation.
- Error below was logged.
DEBUG ---- WARNING: Subscription #3070 is missing a payment token and we failed to create one. Error: Error: No such PaymentMethod: 'pm_1NAo70FyDQrVWdZ2YBICo5tG123'
Changes proposed in this Pull Request
When migrating a Stripe Billing subscription to WooPayments tokenized, we want to ensure the next payment is going to go through smoothly. To achieve this, in this PR we are implementing a method to verify the payment token is set correctly on the subscription so that it matches the same payment method that was set on Stripe.
There are a couple of things happening with these changes but here's a rundown of the logic used to verify and update the payemnt tokens:
Testing instructions
npm run changelog
to add a changelog file, choosepatch
to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.Post merge