-
Notifications
You must be signed in to change notification settings - Fork 38
Home
Create a real-time payments application
Discover how to generate a real-time payments application which uses Financial Transaction Manager to interface with a real-time payments network
Emerging Technologies
This developer pattern demonstrates how to create web and phone applications that can access real-time payments through IBM’s Financial Transaction Manager (FTM) for Real-Time Payments service. We show you how to use those the Bluemix Finance services to create a real-time payments application. The services are integrated into a web interface that manages the user’s tokens and recipients using the Real-Time Payments service. When you create new users, they are automatically registered as participants in a non-production registry. You can link their emails or mobile numbers to their bank accounts; that way, they never have to share sensitive bank details to receive money. We use that email or mobile phone number as tokens to direct any payments they receive into their bank account. They’ll also receive an instant payment notification every time someone sends them money, usually through an SMS text message or e-mail.
https://staging-real-time-payments.mybluemix.net/login
A bank or financial institution that provides payment services would see major business value in helping their customers send and receive payments in real-time. Banks will be able to keep money on transactions that otherwise would have gone to 3rd party payment systems such as Venmo/Paypal.
This is a more-convenient way to send funds online and avoid sharing your banking information with a third-party service. Since existing options within bank apps only let you send money to people who have accounts with them, real-time payment technology could make future transfers much easier. Customers prefer not to set up new profiles or crowd up already-cluttered phones with more downloads.
The Real-Time Payments app that you’ll produce in this pattern lets you send and request payments using the Real-Time Payments service. The pattern shows you how to use Real-Time Payments to generate a robust, enterprise-grade payments application without having to have a direct connection to the network or to the underlying payment rails. It’s ideal for any developer who needs to understand real-time payments app development.
When you have completed this pattern, you will understand how to use the Real-Time Payments service to:
- Manage Participants, Tokens and Recipients
- Initiate Payments and Payment Requests.
- View transaction activity.
Note: The FTM APIs are real services hosted in Bluemix that you can test with. Other supporting systems such as the accounting system and network responses are simulated. So, some responses may differ from a full production system.
(Architecture diagram in Readme)
- User A logs into the Demo banking portal and can link email addresses and/or phone numbers to their account, add recipients identified by their email addresses or phone numbers, and can send or request money to the recipients added by the user such as User B.
- All these actions are controlled through API calls by the application using the Real-time Payments service.
- The service uses Redis Cache and a Cloudant DDA system to store data, process request and provide security.
- Once the transactions are registered and completed, they can be viewed through the banking portal.
- User B can log in and see the money sent or request made by User A.
Transfer money with Real-time Payments
Money transfer has been made as easy as sending a text or email to your contact!
Currently, there are different ways to transfer money but are a hassle and leaves one wanting a better experience. You can write a check but not many people carry checks with them, or if the recipients is out of reach then you have to mail the check and wait till the recipients gets it and checks it in. You can do an ACH or wire transfer which can require transfer fee and you will need the recipients account number, which people do not like sharing. Then there has been a rise in third party apps which links to your bank account and can send money to a recipient account through this app. This requires users to trust a third party with their money making many people hesitant to try. All of these current methods have inefficiencies and makes user uncomfortable sending or requesting money.
The Real-Time Payments service allows banks to provide their users with a seamless money transfer capability. With this service, you can link your phone number or email to your bank account. You can add recipients identified by their phone number or email. Now, you can send or request money easily in a secure way using the Real-Time Payments service. In the code pattern, we demonstrate a web application which simulates a banking portal providing users with a dummy savings and checking account and allowing to perform send and request transactions. Try it for yourself and see how easily users can create recipients and send or request money to them.
The service provides developers with a set of API calls to perform the user's requests. Through API calls, developers can create "tokens" such as phone number or email for their accounts, can create and retrieve recipients, make payments and request payments. The code pattern show cases these api calls through a Node.js backend, which gathers user's responses and makes the appropriate API call(s). The front-end has been designed to be user friendly on desktop and mobile, as more users are preferring mobile to make transactions.