Payment Flow Overview 💳
The Komerce Payment API provides a unified interface for managing payment transactions through Virtual Accounts (VA) and QRIS.
It is built payment infrastructure, allowing merchants to integrate multiple payment methods with a single, consistent API layer.
This API is designed to help you:
- Display available payment methods (VA & QRIS) to customers
- Create payment requests via Virtual Account or QRIS
- Check the real-time status of payments
- Support testing in sandbox mode before going live in production
🔁 Payment Flow Overview
Below is the standard flow of a payment transaction using the Komerce Payment API:
-
Fetch Available Payment Methods → GET /api/v1/user/methods Retrieve a list of available banks for Virtual Account (BNI, BCA, Mandiri, etc.) and QRIS availability. This ensures your frontend can dynamically display supported payment options.
-
Create Payment Transaction
Initiate a payment request to generate a VA number or QRIS QR code. Each transaction is registered in the Komerce system.
-
Customer Payment Process The customer completes payment via their selected channel (bank transfer or QR scan). The status will be updated automatically.
-
Check Payment Status → GET /api/v1/user/payment/status/{payment_id} Retrieve current transaction status (PENDING, PAID, or EXPIRED) and related payment details. You can use this endpoint to verify successful payments or handle timeouts.
⚙️ Endpoints Summary
| # | Endpoint | Description | Payment Type | Auth Required |
|---|---|---|---|---|
1 | GET /api/v1/user/methods | Retrieve list of available payment methods | VA & QRIS | ✅ |
2 | POST /api/v1/user/payment/create | Create a payment transaction via Virtual Account and QRIS | VA & QRIS | ✅ |
4 | GET /api/v1/user/payment/status/{payment_id} | Check transaction status | VA & QRIS | ✅ |