Preface
After starting the long-awaited ACH implementation a month ago, despite holidays and a week off my sudden sickness we’ve finally succeeded.
This document records our next steps regarding ACH, a few issues I have noticed but decided to not touch and consult first with the team and briefs about changes in the design of both parts of the application. However, pull requests mentioned in this document may have context of its own, so it is suggested to read those as well.
What’s Changed
Backend
Refactored different part of the backend codebases Create Stirpe Customer Address in backend, resulting request slight payload size reduction. Fix multiple customer creation with same email even if exists already. Remove passing whole request object in multiple places, instead pass explicitly which are needed, resulting in less overhead. more minor refactoring and fixes available in the pull requests linked below. Added ACH support for one-time and subscription payments. Handle additional Stripe sent event for US Bank Account payments. Added support to notify customers via email for verifying their bank accounts. Added basic email template with handlebars.
Frontend
Added PaymentElement support for Subscription which in future will allow us to automatically render new payment methods in the Stripe payment form such as SEPA, Google Pay, Apple Pay etc. Create a generic payment form for Stripe which handles one-time and subscription in the same component, resulting easier customization or modification in future instead of doing it in two different places. Create SetupIntent instead of creating card token explicitly for subscription payments. Incorporate and integrate backend API endpoints for the new process of payment handling with Stripe. Refactored payload construction in generateClientSecret resulting in removal of duplicate work. Added a modal for bank account verification and email resend. more minor refactoring and fixes available in the pull requests linked below. Pull Requests
Backend
Frontend
Next Steps
Frontend
Fix merge conflict; I will do it. When you select PayPal from the payment method selection page, you should be able to unselect it or simply select Stripe rather than having to go back to previous page and select Stripe; requesting fix. Previous button in the payment form is not working, requesting check and fix. The sing-in link is gone, I mean I have forgotten to include that part in my new component, requesting addition of it. Backend
Fix merge conflict; I will do it. Discussion regarding the changes to create a common understanding QA
Discussion, handover and knowledge sharing Testing of payments with Stripe All 6 options shown in the US Bank payment option other than the Manual Bank All 6 options shown in the US Bank payment option other than the Manual Bank Test with addon and upsell with Stripe