Skip to content

Open banking approach for accepting payments from customers with zero transaction fees

Notifications You must be signed in to change notification settings

KarmaComputing/zero-payment-fees-payment-flow

Repository files navigation

Zero Fees Payment Collection

This approach may be suitable for business-to-business (B2B) payments which want an alternative to paying opaque and complicated card fees. This approach has the advantage of zero transaction fees, but is more suited to B2B transactions as it requires the bill payer to provide a payment reference- something businesses are very familar with.

Takes advantage of 'developments' in Open Banking whereby modern banks offer API access to individual account holders (not via a Payment-Information-Service-Provider (PISP)). In other words, you don't need to go via Plaid, Truelayer etc or other PISPs if you have simple payment requirements and simply want an alternative to often opaque and complicated card fees 1, 2, 3.

Allows a payment flow which:

  • Prompts bill payer to make a payment to the company bank account
  • The bill payer must use the reference presented to them
  • In the background, the bank account transactions are 'polled' to check for the existence of the payment
  • The payment is considered complete when/if if the payment reference, and amount match.

app screenshot form with inputs displaying the payment reference the bill payer must use, amount, and button to say when they have made payment

The payment flow has advantages in that it:

  • Incurs zero fees for the company accepting the payments (assuming bank transfer payments are free, which is usually the case)
  • Requires no storage of customer payment information
  • Allows companies operating on small margins to compete, where a credit card processing fee (1% - 2% and higher) can significantly eat into margins

The payment flow has disadvantages in that it:

  • Is a payment flow less familiar to customers (but arguably quite familiar to commercial payments/financial controllers where requiring a payment reference is standard practice)

Compatible banks

  • Any UK bank which provided API access to it's account holders is compatible with this payment pattern.
  • The code here demonstrates the pattern using Starling Bank. The same pattern appears to be possible with Monzo bank (because the pattern has been seen used by vendors using that bank also).

Want some help?

Would you like to implement this approach in your business? Feel free to reach out for support implementing this payment flow in your business.

Contributing

Project setup / how to run the project. (python)

Create python virtual environment

python3 -m venv venv

Activate python virtual environment and instll project requirements

source venv/bin/activate
pip install -r requirements.txt

Run project

source venv/bin/activate # remember to activate the environment
flask run --debug

Visit http://127.0.0.1:5000

About

Open banking approach for accepting payments from customers with zero transaction fees

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published