Payment gateway integration
This is a temporary document to give brief overview of integrating Paypal as a payment gateway for
QPON to manage the payment. Paypal is going to choose as the payment gateway because of the
international standard and customers we are focusing.
Following requirements and steps are required initiate these integrations
Requirements
1) Paypal Sanbox account
2) New microservice for handle the payment process
3) New database schema is used to persist payment transactions data
4) Redis cache is going to choose for cashing the payment session till payment confirmation
Steps
1) Create new microservice with required dependencies for handle the order preparation and
payment process
2) Microservice and Paypal configuration
3) Create REST APIs for create/process order, create/process payment
a. Persist order and payment transactions details
b. Configure redis cache for handle order/payment session
c. Implement notification mechanism for order/payment status
4) Design payment related mobile and desktop screen requirement
5) Intergrade the order and payment APIs
6) Create order and payment related reports
Paypal Sanbox account
This developer account required to crate via the following URL (valid credit card details require to
provide)
https://developer.paypal.com/developer/accounts/
New Microservice – qpon-payment-service
This microservice requires to handle the payment process. When growing the app usage, it is possible to
have high load of request to process, therefore it is better having a different service that can scale with
the load.
New database schema
Payment transactions consist of some sensitive data to maintain such as orders details, credit card
details, payment details, payment history etc.., this new database schema is to maintain those required
details.
Redis cache
Order and payment process of QPON application are always Mobile/Desktop -> backend process,
therefore it has some link to maintain until the payment confirm its status and those data required to
keep in temporary storage.
Common sequence diagram for Paypal integration
Ballpark estimations
Order creation/Process
Payment gateway integration
Report related APIs
Desktop integration and Reports generations
Order creation
Mobile integration
Payment Integration
Testing Mobile
Desktop