Fixed Tons of errors on backend in Payment Provider log after upgrading to 2.3.5

I didn't think it would, but figured I'd ask. We're slowly upgrading, but still on 2.2 for now and having issues since the basil API, not realizing it broke everything. Whoops. Motivation to upgrade a bit faster, I suppose!
 
Attaching a hotfix in case anyone else is running into this. It may still log errors for charge.succeeded on new subscriptions, but we actually only need those for one-off payments so it should still function ok. Will try to see if we can disambiguate those somehow, but Stripe makes this painful.

Still, we absolutely cannot guarantee we will always track the latest API changes. The basil update with breaking changes was released after the most recent XF version at the time of writing. I strongly caution against ever upgrading the Stripe API without exercising due diligence. That means ensuring all connected applications (including XenForo) are compatible, making the best of the three day grace period to actually test that new and existing payments continue to function properly for all of them, and rolling back the upgrade if they do not.

@cdub The PayPal errors may be related to your IPN settings in your PayPal account. PayPal will keep sending them to XF even if XF isn't using them for payments.

When I apply that hotfix. Trying to purchase a subscription results in errors.

1750861445517.webp
 
That file should replace src/XF/Payment/Stripe.php, and not anything in src/vendor/. If you replaced src/vendor/stripe/stripe-php/Stripe.php you will need to revert it.
 
I can't say we have imminent plans there right now, but yeah it did cross my mind that splitting up things which interface with external service providers could allow them to be updated independently of the core so I do think it's worth future consideration.

(I've long-wished Apple would do this with iOS Safari/WebView like Android does with their equivalents...)
 
@Jeremy P That would sound like a plan. This more modular approach is analogous to hardware drivers on Windows. If a bug or improvement is needed in that area, only the driver is updated, not the core Windows code. Or, if there's a new model graphics card released, again, only the graphics driver is updated. Makes sense to take this approach with external service providers as it makes code easier to maintain and quicker to update, with hopefully less bugs.
 
Back
Top Bottom