The Stripe payment gateway for CB Paid Subscriptions has received a massive overhaul to latest Stripe API Elements usage and several improvements throughout. This makes Stripe easier to user, have more features, and more safety nets for potential payment failures. Check out all the details below!
First up is that payment method availability is now automated. You no longer select what payment methods you want available (e.g. Cards, Bank Transfers, etc..). Instead we now fully utilize the Stripe Elements API to automate this based off the payment methods you've enabled in your Stripe account. This will be a pretty big change from your current card selection at basket though. Below is what to expect.
Before
After
These buttons are also entirely customizable within CBSubs Stripe. Once you click the Stripe button you'll be greeted with a new payment form that automatically conforms to the available payment methods. Below again is what to expect.
Before
After
Notice the accordion selection for different payment methods. These are entirely automated based off payment methods available within your Stripe account and the currency of the transaction. The only exception to this is recurring payments. Stripe Elements does not support automated payment methods for SetupIntents, which all recurring payments now use. So those still need to be explicitly selected within your Stripe gateway. Existing installs will have those migrated on install.
You can however still filter to explicitly selected payment methods using the below parameter.
This leads into the next feature. Test Clocks. Stripe implemented support for easy testing of recurring payments. This allows you to see exactly how your site will behave when a recurring payment is paid. We now support these when using CBSubs Stripe in test mode and when you enable them.
You can advise time on test clocks to test how they'll behave as they renew. This is done within your Stripe account.
We've also implemented a popularly requested feature of letting you know exactly what Webhooks we listen to. This is helpful when setting up webhooks within your account so you only need to listen to what's actually used. They are now listed with the below parameter.
Another great feature added is pending basket timeouts. Now when a basket goes into a pending state it's locked from future payments until the current pending payment clears. This avoids users double paying while a payment is still pending.
This can optionally be configured as well with the other basket timeout parameters.
On the technical side of things for CBSubs Stripe we've made massive improvements to how payments are handled. Previously if the first payment and the recurring payment price and duration were different it resulted in a payment intent charge followed by an invoiced payment for recurring. In most cases this was fine, but countries with stricter regulations for recurring payments would see higher than normal payment rejection rates. This has now been entirely eliminated with the use of Subscription Schedules. The initial payment is handled by the first scheduled billing cycle then recurring by the following. This now allows us to use entirely SetupIntents for recurring payments to get full future payment authorization to reduce the risk of rejected recurring payments.
We've also updated CBSubs Stripe to latest Stripe API version and you're encouraged to do the same within your Stripe account. CBSubs Stripe will also log a notice to the CBSubs History Log if it receives a webhook from an older version or from an endpoint we don't support to help keep you informed. We do provide backwards compatibility for webhooks though so no need to worry if an older webhook comes through.
We are dedicated to supporting Stripe and all it can offer so I hope everyone enjoys the new improvements.