liberapay / liberapay.com

Source code of the recurrent donations platform Liberapay
https://liberapay.com/
1.67k stars 215 forks source link

Funding a donation with a manual bank transfer #2026

Open Changaco opened 3 years ago

Changaco commented 3 years ago

This issue is about documenting why Liberapay no longer supports bank transfers initiated by the donor from their bank's website or application.

~~1. The process of having the donor go to their bank's website and manually input the transfer details (amount, destination, identification code) is too error prone, and we can't guide them through it because every bank's website is different.

  1. International bank transfers are unpredictable. For example the amount that is received isn't always the amount that was sent, because any intermediary bank can take a fee.
  2. Regulations prevent Liberapay from receiving the funds directly. We can instruct the donor to send the funds directly to the recipient's normal bank account, but then it's difficult for us to confirm that the transfer has been received, and exposing someone's bank account number can be problematic.~~

This issue is now about re-adding support for bank transfers. Basic implementation checklist:

Remaining question to investigate: can we add support for the UK, Mexico and Japan when the recipient is in one of those countries? No.

Changaco commented 3 years ago

This information should probably go in a new /about/payment-methods page which https://liberapay.com/about/faq#payment-methods would link to.

Changaco commented 2 years ago

Stripe has added support for manual bank transfers in a way that should allow Liberapay to support them once again: https://stripe.com/blog/reimagining-bank-transfers

According to https://stripe.com/fr/pricing/local-payment-methods the fee is 0.5% up to €5.00, and €0.50 per successful refund.

VincentSC commented 1 year ago

Important: SEPA is used by criminals to steal from accounts. It's much easier to be stolen via SEPA than via creditcards, as creditcards have all kinds of additional checks in place.

This means that it should be treated as an unsafe payment method.

fadeldanovan commented 1 year ago

u guys hv acc swift.com ?

Changaco commented 1 year ago

Stripe's solution isn't fully viable due to the very limited number of virtual European bank account numbers (1k free, then €2 per number up to 50k). I've sent them an email asking if instead of allocating a VBAN to each donor, we're allowed to use the same one for all and distinguish incoming transfers by reference codes like in the old days.

Changaco commented 10 months ago

I've finally received an answer from Stripe. They say sharing VBANs is allowed, but they strongly advise against it, mentioning “substantial delays during the refund process” as one source of friction. (Donations are rarely refunded, so that's not a big deterrent.) They want to know how many VBANs we expect to use in the first year in order to negotiate custom pricing.

VincentSC commented 10 months ago

Did you also work on the abuse-part? We had €5000 stolen from our account via your platform.

I saw you marked my previous remark as off-topic, but that decreases my trust in the platform.

Changaco commented 10 months ago

@VincentSC Your comments are off-topic. This issue isn't about direct debits, it's about bank transfers that the payer initiates from their bank's website or mobile application.

The large-scale direct debit fraud was solved more than a year ago (https://github.com/liberapay/salon/issues/541#issuecomment-1368797510), and I assume you got your money back.