Summary
Implement an online payment gateway to enable secure cashless transactions within the POS system. This feature will provide customers with multiple payment options while ensuring that all payment records are accurately stored and linked to their respective orders.
The implementation should prioritize providers that offer free development environments or sandbox testing suitable for academic and capstone projects.
Objectives
- Integrate a secure payment gateway.
- Support digital payment methods.
- Record payment transactions in the database.
- Update order status after successful payment.
- Generate transaction receipts containing payment information.
- Handle payment failures and cancellations gracefully.
Recommended Payment Providers
1. PayMongo (Recommended)
Status: Preferred
Features
- GCash
- Maya
- GrabPay
- QR Ph
- Credit/Debit Cards
- Hosted Checkout
- Sandbox Environment
- REST API
Advantages
- Free testing environment
- Well-documented API
- Suitable for PHP applications
- Supports multiple Philippine payment channels
Documentation:
https://developers.paymongo.com/
2. Xendit
Features
- GCash
- Maya
- QR Ph
- Credit/Debit Cards
- Virtual Accounts
- Sandbox Environment
Documentation:
https://developers.xendit.co/
3. PayPal
Features
- Credit/Debit Cards
- PayPal Wallet
- Sandbox Environment
Documentation:
https://developer.paypal.com/
4. Stripe
Features
- Credit/Debit Cards
- Apple Pay
- Google Pay
- Test Mode
Documentation:
https://stripe.com/docs
5. Local Payment Simulation (Fallback)
If third-party payment providers are unavailable, implement a simulated payment workflow for demonstration purposes.
Example Flow
Order Created
↓
Select Payment Method
↓
Generate Reference Number
↓
Payment Successful
↓
Update Order Status
↓
Generate Receipt
Functional Requirements
Database Changes
orders
Add the following fields:
- payment_method
- payment_provider
- payment_reference
- payment_status
- paid_at
Payment Status
- Pending
- Paid
- Failed
- Cancelled
- Refunded
Acceptance Criteria
- Customers can choose an online payment method.
- Payment transactions are successfully recorded.
- Order status updates automatically after payment.
- Receipts include payment details.
- Failed or cancelled payments are handled correctly.
- Sandbox mode functions successfully during testing.
Priority
High
Labels
enhancement
feature
payment
api
backend
Summary
Implement an online payment gateway to enable secure cashless transactions within the POS system. This feature will provide customers with multiple payment options while ensuring that all payment records are accurately stored and linked to their respective orders.
The implementation should prioritize providers that offer free development environments or sandbox testing suitable for academic and capstone projects.
Objectives
Recommended Payment Providers
1. PayMongo (Recommended)
Status: Preferred
Features
Advantages
Documentation:
https://developers.paymongo.com/
2. Xendit
Features
Documentation:
https://developers.xendit.co/
3. PayPal
Features
Documentation:
https://developer.paypal.com/
4. Stripe
Features
Documentation:
https://stripe.com/docs
5. Local Payment Simulation (Fallback)
If third-party payment providers are unavailable, implement a simulated payment workflow for demonstration purposes.
Example Flow
Order Created
↓
Select Payment Method
↓
Generate Reference Number
↓
Payment Successful
↓
Update Order Status
↓
Generate Receipt
Functional Requirements
Database Changes
orders
Add the following fields:
Payment Status
Acceptance Criteria
Priority
High
Labels
enhancement
feature
payment
api
backend