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:

  1. Fetch Available Payment MethodsGET /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.

  2. Create Payment Transaction

    Initiate a payment request to generate a VA number or QRIS QR code. Each transaction is registered in the Komerce system.

  3. Customer Payment Process The customer completes payment via their selected channel (bank transfer or QR scan). The status will be updated automatically.

  4. Check Payment StatusGET /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

#EndpointDescriptionPayment TypeAuth 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