opencollective icon indicating copy to clipboard operation
opencollective copied to clipboard

Bank transfer (ACH/wire) contributions within the platform.

Open natehn opened this issue 3 years ago • 10 comments

User story

As a donor, I can make bank transfer contributions within the platform. I will no longer have to initiate the bank transfer myself. Additionally, host admins would no longer have to manually match bank transactions with pending bank contributions.

Best solution for this problem

I imagine that this involves Wise. Another option I'm aware of would be Bill.com's API.

MVP

?

Metrics

Change (increase?) in bank transfer contributions. Change (decrease!) in amount of time from contribution being initiated in the platform to funds arriving in collective accounts and fees arriving in host accounts.

natehn avatar Nov 08 '21 16:11 natehn

An example: Classy uses Plaid to do bank transfer donations within their platform

https://www.classy.org/give/207291/#!/donation/checkout

natehn avatar Nov 29 '21 20:11 natehn

Is Wise a possibility? This may also relate to recurring bank transfers.

natehn avatar Feb 10 '22 13:02 natehn

Is Wise a possibility?

Stripe has a nice flow for thishttps://stripe.com/docs/payments/bank-transfers

And (related) for recurring ACH/Wire and Sepa https://stripe.com/docs/payments/ach-debit and https://stripe.com/docs/payments/sepa-debit (for EU)

BenJam avatar Apr 14 '22 10:04 BenJam

Here's another potentially useful new Stripe tool: https://stripe.com/docs/financial-connections (obviously relevant for #2734, etc.)

natehn avatar May 06 '22 14:05 natehn

Bumping this. It is a very manual and error-prone workflow to process bank transfers. Would be great to process these with Stripe and automatically associate the payment to the collective when the transaction is complete.

I believe we can use Stripe for this in a similar way we process credit cards: https://stripe.com/docs/payments/ach-debit

poohlaga avatar Sep 20 '22 17:09 poohlaga

What do you mean by "within the platform"? Is this about cross-host donations or someone outside the platform being able to send money to the platform from the outside?

What exactly is the problem here, is Credit Card not viable for some people or is the process of donating through the platform not compatible with a certain type of donor?

I think the ACH Debit could be viable as an alternative to a credit card but I don't see how this solves the I will no longer have to initiate the bank transfer myself problem.

kewitz avatar Sep 30 '22 18:09 kewitz

@kewitz the problem is not exactly that people have to initiate the bank transfer themselves. The problems have to do with tracking payments on the fiscal host side. This has been the motivation since I originally posted the issue - sorry if that was not clear. Having the transaction actually occur within the platform, as it does for credit cards, will make it much much easier to track, as right now we have to do "added funds" almost every time a bank transfer comes in, especially with major donors that refuse to submit a pending contribution.

As for why people need bank transfer as an alternative to credit card - typically, major donations, over $2,000 or so, which fund all our work tbh, will come in as bank transfers. The quantity of transactions is lower, but the total dollar amount is quite high.

natehn avatar Oct 03 '22 15:10 natehn

@natehn I suspect we receive bank transfers because they're not subject to payment processor fees, which are a huge deal for big donations. Is this assumption correct?

If it is, it means implementing Stripe ACH payment wouldn't be best solution, because we would still want to manually process a bank transaction if the payment processor fee goes up to hundreds of dollars, correct?

kewitz avatar Oct 03 '22 17:10 kewitz

It looks like Stripe caps the fee at 5$ https://stripe.com/pricing/local-payment-methods This is also what QuickBooks does to facilitate direct bank payments on invoices generated from their interface and I pay their fee (which I think is higher at $7) because it saves me time.

poohlaga avatar Oct 03 '22 17:10 poohlaga

@kewitz I think lower (note - not completely avoiding them, just minimizing them) fees may be part of it. Bank transfer fees tend to be lower at high amounts since they are more likely to be flat rate rather than a percentage. In the US at least, it is also just how philanthropists' payment systems are set up - bank transfers and checks, rather than credit cards, to pay out grants.

natehn avatar Oct 03 '22 18:10 natehn

  • [x] kick off
  • [x] decide on technical approach (and document it here)
  • [x] decide on MVP to deliver for the sprint (and document it here)

BenJam avatar Nov 07 '22 14:11 BenJam

From the Kickoff meeting:

The user wants an alternative payment method but still uses the platform to set up the order. Automates Bank Transfer orders.

Challenges:

  • Implement asynchronous transaction confirmation.
  • Implement the UI for SEPA and ACH.
  • How does Refunds and Disputes work?
  • How does recurring payments work?
  • Sometimes users don't have a way to attach metadata/reference to the manual bank transfer.

Existing Implementations:

User can fund PayPal donations using their approved Bank Account. The problem here is the payment processor fee which is % of the contributed amount.

Solutions:

  • Implement Stripe Checkouts

Or:

  • Implement ACH using Stripe Elements
  • Implement SEPA using Stripe Elements

Or:

  • Implement another solution from a different provider (GoCardless, SEPA QRCode)

Main Goals: Provide another payment method for users. Save money on payment processor fees. Get access to users that don't like Credit Cards or PayPal.

Open Questions:

  • What does Design/Engineering think about using an external checkout flow?
    • Is it possible to use Stripe Checkouts in a modal? No, it needs to be a redirection.
  • How do we convey the idea of a pending order/transaction to the User?
  • How does this compete with Credit Card fees?

Proposed Solutions:

  • Prototype Stripe Checkouts as an opt-in feature for beta testing.
    • Initially for at least SEPA and ACH.
  • If this is not something we want to deal with, implement the normal stripe element flow.
    • Strictly for SEPA and ACH.

kewitz avatar Nov 08 '22 17:11 kewitz

  • [x] polish prototypes and present advantages/disadvantages
  • [ ] decide on future of payments on Open Collective

BenJam avatar Nov 14 '22 14:11 BenJam

Docs issue - https://github.com/opencollective/opencollective/issues/6147 Release issue - https://github.com/opencollective/opencollective/issues/6148

shannondwray avatar Nov 14 '22 15:11 shannondwray

Hello! I am unsure of the solution that is currently being explored but wanted to flag from a support perspective that we get alot of confused users who initiate a bank transfer and then email support when they want to just pay by credit card instead. We have a template that we send out in these instances:

Please note that if bank transfer is not completed the order will simply expire and no further action is necessary. As such, please feel free to go ahead and complete the contribution using your card.

Is there a way for us to include this information somewhere so the users are informed? or better yet this new solution will mean that this doesn't happen anymore :)

shannondwray avatar Nov 15 '22 13:11 shannondwray

great demo from @hdiniz last week (thank you @hdiniz!) looks like we have an approach for this sprint, but I'm not sure we have decided on using elements for all payments yet.

BenJam avatar Nov 21 '22 13:11 BenJam

  • [x] Merging test, payment methods
  • [ ] Recurring Payments
  • [ ] Start looking at pending orders UI
  • [ ] Continue to test in production: ACH, SEPA, on platform / fiscal host

znarf avatar Nov 28 '22 14:11 znarf

  • still need to test ACH in prod
  • continuing work on recurring payments (PRs ready for review) and pending orders UI
  • look at iterating design for future sprints (i.e. encompassing more payment methods)

BenJam avatar Dec 05 '22 14:12 BenJam

finish recurring payment prs complete ui mods to payment methods enable ACH/SEPA on Open Source Collective and Open Collective Foundation @BenJam @alanna to check if there are any collective that need this sooner rather than later decide on an approach for communicating pending contributions to their donors

BenJam avatar Dec 12 '22 14:12 BenJam

  • @BenJam @alanna to check if there are any collectives that need this sooner rather than later (and actually do it this time)
  • release will call-out for collectives to get in touch

BenJam avatar Dec 19 '22 14:12 BenJam

Done. Feedback issue: https://github.com/opencollective/opencollective/issues/6290

znarf avatar Nov 14 '23 21:11 znarf