#Stone.D
1 messages · Page 1 of 1 (latest)
You should bring back customer online and collect their authorization using handleNextAction on stripe.js
Is there handle action on Native app?
No, but we have a workaround. You can specify a return_url and perform a redirection on a webview: https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-1-handling-sca
Hey, taking over here. Let me know if there's any follow-up Qs I can answer!
Hi, About subscription sub_1LaEaDIXF5VHSVPptSX8qjJy,
At the beginning, I successfully purchased the subscription of the $7 monthly package, and then changed the payment method to 3DS credit card payment method, and then upgraded the current package to the annual package, but after the upgrade, the deduction failed because there was no 3DS process, and then I changed the payment method to the correct payment method way, try the same upgrade operation again, com.stripe.model.Subscription vo = pricingService.updateStripeSubscription returns vo normal, but there is no webhook.
What is there without webhook?
Which event are you expecting? I can see an invoice.finalized event: https://dashboard.stripe.com/test/events/evt_1LaEaqIXF5VHSVPpSLMXDf8d
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
63AB2DAA-0003 Should be found
63AB2DAA-0002 is the first upgrade operation, the result is a failure
63AB2DAA-0003 should not be displayed, but not seen
event https://dashboard.stripe.com/test/events/evt_1LaEaqIXF5VHSVPpSLMXDf8d is for invoice numb 63AB2DAA-0002 .
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Sorry, I don't know what any of that means. Displayed but not seen?
If you change the available credit card, the subsequent payment should be successful, but it is not successful, and no record is seen
Can you share the in_xxx ID for 63AB2DAA-0003?
That's an invoice number, I can't look it up
63AB2DAA-0003 is just a hypothetical value, my call to com.stripe.model.Subscription vo = pricingService.updateStripeSubscription should yield 63AB2DAA-0003, but it didn't; that's the problem
Is this the Subscription you're trying to update? sub_1LaEaDIXF5VHSVPptSX8qjJy
yes
Is this the update call? https://dashboard.stripe.com/test/logs/req_rh5hswIu0B1xXo
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Yes
The first upgrade using a 3DS credit card upgrade failed because payment_action_required was not processed. Then change to another test credit card: 4242424242424242 To test the upgrade, call com.stripe.model.Subscription subscription
= stripeSubscription.update(subscriptionUpdateParamsBuilder.build());
After that, there is no upgrade.
That update triggered a new Invoice: https://dashboard.stripe.com/test/invoices/in_1LaEaoIXF5VHSVPpS4mfKf4C
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
There won't be a new Invoice generated for simply changing/updating the PM, which is what you did here: https://dashboard.stripe.com/test/logs/req_Or4oA3SSJ5rrde
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
That won't generate a new Invoice, which I guess is what you're expecting?
How should I handle this scenario on my service code?
what scenario exactly?
Subscription scenario:
- The user subscribes to the $7 monthly package with a 3DS credit card, and uses the checkout session to pay
- Upgrade to the $96 annual package, billed by proration; failed to process invoice.payment_action_required hook
- The user changes the test card whose payment method is 42424242424242, and tries step 2 again.
What I hope is a successful upgrade with webhook event invoice.paid.
cool, so you changed the card. Did you try to pay the invoice after changing it?
Yes, try step 2 to upgrade to different peroid plan.
I think that this operation will result in an immediate charge.
yes, changing from e.g a monthly plan to a yearly plan will trigger an immediate invoice.
But i didn't get any webhook event.
not sure what you mean.
not webhook event after calling com.stripe.model.Subscription subscription
= stripeSubscription.update(subscriptionUpdateParamsBuilder.build());
in step 3
what's the request ID req_xxx corresponding to the update call that code made?
req_Or4oA3SSJ5rrde
ok that is the request corresponding to "The user changes the test card whose payment method is 42424242424242"
that change does not generate any invoice.
what I say here is 100% true. That request ID you posted is not that change though, so it doesn't trigger an immediate invoice.
just changing the PaymentMethod does nothing. You'd have to try to pay the invoice again(https://stripe.com/docs/api/invoices/pay) after changing the payment method if you want a new attempt and a possible invoice.paid event. I think my colleague explained that earlier.