This platform has two parts:
-
On the front-end, we have a mobile app in React Native to do the payments using the QR codes generated by the Sellers. Also, we have a webpage where Sellers com create the QR codes to receive payments;
-
On the backend we have microservices to process the payment requests. Note that we are mocking the credit card and banking integrations. We have the code to stream, process and manage the payments but not the backing and card integrations.
Step 1 - A seller creates an order for payment and generates a QR code for the buyer;
Step 2 - The buyer gets the QR code using the mobile app and manage the payment using its credit card;
Step 3 - In the end of some period (monthly, weekly) the seller can ask the platform to transfer his/her payments to some bank account.
We have audit streams and HA using RabbitMQ queues. On the Backend side we are using springboot for batch jobs and microservices. Either mobile app (buyer's one) and web page app (seller's one) are built using React native and React, respectively.