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.
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)
- 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).
Would you like to implement this approach in your business? Feel free to reach out for support implementing this payment flow in your business.
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