From e9f7a1d93de95757c283af51e203ad837c562c9d Mon Sep 17 00:00:00 2001 From: Matthew Wire <mjw@mjwconsult.co.uk> Date: Mon, 1 Feb 2021 17:26:52 +0000 Subject: [PATCH] Add roadmap for bancontact --- docs/roadmap.md | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index 654489b0..60279ad5 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -35,6 +35,24 @@ confirm and map Stripe customer IDs to CiviCRM contacts. This would require funding for approximately 16 hours work. +## Card on File + +Stripe supports saving cards and other payment methods. These can be retrieved, re-used and updated. +We would like to provide support for re-using saved cards in CiviCRM. + +### Specification + +1. Develop a method to deduplicate payment methods (see eg. https://github.com/stripe/stripe-payments-demo/issues/45). + Cards are duplicated by default and we need to clean this up before we can provide a UI to retrieve cards in CiviCRM. +2. Build a UI to allow for selection of cards to use for making payment. +3. Integrate card-selection UI into payment flow (so for example a form validation failure will remember the card you just entered and verified). + +### Estimate + +This would require funding for approximately 24 hours work. + +## Payment Methods + ## Stripe Connect See https://stripe.com/connect @@ -47,21 +65,25 @@ See https://lab.civicrm.org/extensions/stripe/-/issues/81 See https://civicrm.org/make-it-happen/stripe-ach-payments -## Card on File +## Bancontact -Stripe supports saving cards and other payment methods. These can be retrieved, re-used and updated. -We would like to provide support for re-using saved cards in CiviCRM. +See https://stripe.com/docs/payments/bancontact -### Specification +This is a "Bank Redirect" type of payment. -1. Develop a method to deduplicate payment methods (see eg. https://github.com/stripe/stripe-payments-demo/issues/45). - Cards are duplicated by default and we need to clean this up before we can provide a UI to retrieve cards in CiviCRM. -2. Build a UI to allow for selection of cards to use for making payment. -3. Integrate card-selection UI into payment flow (so for example a form validation failure will remember the card you just entered and verified). +### Implementation + +1. Create a paymentIntent of type "bancontact" and return the client secret. +2. Collect payment method details (name) on the client form. +3. Handle redirect to bancontact to make payment and return to CiviCRM. +4. Handle payment_intent.succeeded webhook to confirm payment. ### Estimate -This would require funding for approximately 24 hours work. +20 hours. This represents approximately 12 hours for the generic "Bank Redirect" functionality +in the Stripe extension and then 8 hours for the specific payment method "Bancontact". +Adding additional payment methods such as Sofort would then require approximately 8 hours each +to implement. -- GitLab