enupal / stripe

Allows customers sign up for recurring and one-time payments with Stripe, perfect for orders, donations, subscriptions, and events. Create simple payment forms in seconds easily without coding. For Craft CMS
https://enupal.com/craft-plugins/stripe-payments/
Other
33 stars 19 forks source link

Subscription does not get processed by the plugin when using Checkout Twig Tag and coupons #392

Open rckywng opened 7 months ago

rckywng commented 7 months ago

Description

When going to a Stripe Checkout form, via the Checkout Twig Tag, and using a coupon which gives the user 100% discount – upon successful return to the Craft site, the plugin has not processed the subscription. This means it appears the user has not subscribed in Craft, when they have on Stripe.

Looking at the logs, the error is coming from the createCartOrder() function in the PaymentIntents service: "Unable to find the paymentIntentId or subscriptionId related to the cart".

Non-coupon transactions are working fine. Whether there is a coupon or not, Stripe is sending a subscription value and no payment_intent value in the webhook. So it doesn't seem the problem is there.

It looks like the function is looking for a subscription and invoice to get the payment_intent and failing.

Any help would be greatly appreciated.

Steps to reproduce

  1. Create a subscription plan and a coupon/code which gives the user 100% discount on the plan.
  2. Set up a form for the subscription plan using the Checkout Twig Tag.
  3. Sign up to the subscription and apply the discount (so total payment is 0).
  4. When you return to the Craft, the order/membership is not processed.

Additional info

rckywng commented 7 months ago

Hey @andrelopez, hope we're not being to pushy here but the org I'm working with are wondering if there would be a timeline for handling such issues?

This feature is pretty critical right now as we expected this functionality to work as is. We are evaluating if we should take another approach instead so would be good to know what your thoughts are.

andrelopez commented 7 months ago

Hi sorry the slow response here, I will take a look over the weekend, hopefully have a follow up by Monday

andrelopez commented 7 months ago

Hi @rckywng this ticket it's related to #393 as well. We need to bring support to Stripe API 2023-08-16 as we currently supports 2020-08-27

This will be a big change in the source code and will require some time to test all edge cases after the API upgrade, I made good progress over the weekend and I hope to release this update soon!

rckywng commented 7 months ago

Hi @andrelopez, thanks for the update.

jwmatlock commented 1 month ago

@andrelopez Any update on this? We're just discovering this issue and it's causing issues for our client.