v5.0.0
Features
- Supports
solidus_starter_frontend
and acts as a simple reference implementation for custom frontends - Supports multiple payment providers out of the box by using Stripe's Payment Element
- Supports additional verifications (e.g. 3D Secure) out of the box
- Easily extensible support for Stripe webhooks via subscribers and the Solidus event bus
A complete rewrite!
It's a complete rewrite over v4, please refer to the README for a comprehensive list of features, installation instructions, and caveats to look out for.
Migrating from v4
Currently, due to the wide range of setups supported by v4, we advise against rushing to update to v5. Support for v4 has been extended to the latest Solidus and is not a blocker for staying up to date.
What's Changed (in detail)
- SSF + Payment Element reboot by @elia in #146
- Fractional amount solidus-to-stripe conversion support class by @elia in #155
- MVP implementation that can complete a checkout by @elia in #156
- Add support for Stripe webhooks by @waiting-for-dev in #157
- Development QoL changes and bug fixes by @elia in #159
- Disallow creating Stripe payments on the admin panel by @waiting-for-dev in #168
- Clarify we only support one Stripe account by @waiting-for-dev in #169
- downgrade migration version by @loicginoux in #177
- Misc development fixes by @elia in #183
- Update README to be clear that we are not ready by @kennyadsl in #194
- bump min version of solidus_core dependency by @loicginoux in #176
- Expose stripe credentials to the CI by @elia in #196
- Add YARD documentation checks to the CI by @elia in #197
- Move payment intent id tracking from payment source to payment by @elia in #158
- Consolidate how Rails version is fetched for dummy-app and sandbox by @waiting-for-dev in #202
- Make webhook testing more realistic and refactor its setup by @waiting-for-dev in #195
- Add wallet support by @elia in #172
- Add support for SetupIntents and skipping the confirm step for PaymentIntents by @kennyadsl in #203
- Simplify generated code to configure the payment method preferences by @waiting-for-dev in #206
- Add setup intents support to stripe dashboard link helper by @elia in #212
- Refactor intent related methods out of PaymentMethod by @elia in #214
- Always create Solidus counter-part when creating Stripe payment intent by @waiting-for-dev in #217
- Make webhook endpoint specific to the payment method instance by @waiting-for-dev in #213
- Add test coverage for integration with Solidus Starter Frontend by @rainerdema in #215
- Add a basic codecov config to show commit status by @elia in #204
- Fix typo on the README by @waiting-for-dev in #226
- Coverage: deprecated gem, install_generator tracking by @elia in #227
- Add SolidusStripe::Customer by @elia in #216
- Handle payment_intent.succeeded event by @waiting-for-dev in #222
- Install and run migrations before running specs by @elia in #229
- Adapt to latest SSF changes by @waiting-for-dev in #235
- Fix
Gateway#purchase
not capturing the payment by @waiting-for-dev in #233 - Guarantee payment is linked to payment intent when receiving webhooks by @waiting-for-dev in #236
- Fix rolling back missing migrations before specs by @elia in #243
- Merge intent controller actions by @elia in #241
- Copy id over Solidus' payment response_code on Stripe's payment intent creation by @waiting-for-dev in #239
- Payment method refactor by @elia in #244
- Refactor the stimulus controller by @elia in #242
- Fix error when completing an order with a card declined at confirmation by @waiting-for-dev in #245
- Add test for the integration with Solidus backend by @rainerdema in #237
- Handle payment_intent.failed event by @waiting-for-dev in #246
- Fix issues with sandbox creation and CI migrations by @elia in #253
- Random fixes related to #249 by @elia in #256
- Starter frontend updates & fixes by @elia in #254
- Improve payment form handling and start using
@stripe/stripe-js
module by @elia in #255 - Handle payment_intent.canceled event by @waiting-for-dev in #250
- Remove support for Ruby v2.7 by @waiting-for-dev in #259
- Implement support for deferred PaymenIntent confirmation by @elia in #249
- Support
auto_capture
for the Stripe payment method by @rainerdema in #260 - Handle
charge.refunded
event by @waiting-for-dev in #264 - Add support for Store Credits by @rainerdema in #261
- Add missing API source payment partial view for Stripe payment sources by @rainerdema in #270
- Add caching support to sandbox apps creation by @elia in #272
- Migrations script fix (we hope) by @elia in #275
- Webhook development support and generic payment method slug by @elia in #271
- Handle partial captures by @waiting-for-dev in #268
- Avoid duplicated Solidus refunds by @waiting-for-dev in #281
- Uniform helper method names in checkout specs by @rainerdema in #287
- Allow reuse of payment sources via admin by @rainerdema in #278
- Protect against concurrent duplicated webhooks by @waiting-for-dev in #286
- Stop depending on solidus_dev_support by @elia in #284
- Support partial capture for previously authorized payments by @rainerdema in #288
- Improve consistency in naming by @waiting-for-dev in #289
- Add a documentation badge pointing to rubydoc.info by @elia in #291
- Tweaks about refunds sync by @waiting-for-dev in #290
- Update links from master to main for solidus_stripe repo by @waiting-for-dev in #294
- Add missing
&&
inSolidusStripe::PaymentIntent.usable?
by @rainerdema in #299 - Documentation for v5 by @elia in #301
- Compact migrations by @elia in #302
- Allow the use of non-card Stripe payment methods by @rainerdema in #295
- Add more versions of ruby and more databases to the CI matrix by @elia in #303
- Re-enable and fix a couple of try_void related specs by @elia in #304
- Support Solidus v4 by @waiting-for-dev in #306
- Adopt new Solidus default branch by @waiting-for-dev in #296
- Rename checkout spec helper coming from Starter Frontend by @kennyadsl in #312
New Contributors
- @loicginoux made their first contribution in #177
- @rainerdema made their first contribution in #215
Full Changelog: v4.4.0...v5.0.0