Introduction to Gerbang Pay
What is Gerbang Pay?
Gerbang Pay is a Payment Orchestration API that allows Indonesian businesses to accept payments from various methods and providers through a single integration. Instead of integrating Winpay and Midtrans separately, you only need to connect to Gerbang Pay — and our system manages the routing, signatures, retries, and webhook forwarding to your application.
The platform is designed for multi-tenancy: every business (tenant) has its own isolated provider configurations, routing rules, and webhook URLs.
Platform Architecture
Client Application
│
│ POST /v1/payments/create
▼
┌─────────────────────┐
│ Gerbang Pay API │ ← Authentication, Validation, Idempotency
│ (Orchestrator) │
└─────────┬───────────┘
│ Routing based on tenant configuration
┌─────┴──────┐
▼ ▼
┌───────┐ ┌──────────┐
│Winpay │ │ Midtrans │ ← External Providers
└───────┘ └──────────┘
│ │
└─────┬──────┘
│ Callback (POST /v1/callbacks/{provider}/{tenant_id})
▼
┌─────────────────────┐
│ Gerbang Pay API │ ← Signature verification, status update
└─────────┬───────────┘
│ Webhook (HMAC-signed)
▼
Client Webhook URLBrief flow:
- Client creates a payment → Gerbang Pay forwards it to the configured provider.
- Provider processes and sends a callback to Gerbang Pay.
- Gerbang Pay verifies the callback, updates the status, then sends a webhook to the client's URL.
Supported Providers
Winpay
A payment provider based on the Bank Indonesia standard SNAP API.
| Payment Method | Supported Channels |
|---|---|
| Virtual Account | BCA, BRI, BNI, Mandiri, BSI, CIMB, Permata, Muamalat, Sinarmas, BNC, Maybank |
| QRIS | MPM Dynamic |
| E-Wallet | DANA, OVO, ShopeePay, AstraPay, SpeedCash |
| Over The Counter | Alfamart, Indomaret, Fastpay |
Midtrans
A leading payment provider with extensive coverage.
| Payment Method | Supported Channels |
|---|---|
| Virtual Account | BCA, BNI, BRI, Mandiri, Permata, CIMB, Danamon |
| QRIS | MPM Dynamic |
| E-Wallet | GoPay |
| Cardless Credit | Akulaku, Kredivo |
| Over The Counter | Alfamart, Indomaret |
Base URL
https://gerbang-pay-api.gai.co.idAll endpoints are under the /v1 prefix.
Example full URL:
https://gerbang-pay-api.gai.co.id/v1/payments/createResponse Format
All responses from Gerbang Pay use a consistent JSON envelope.
Success Response
{
"success": true,
"data": { ... }
}For endpoints with pagination, the response includes total_count:
{
"success": true,
"total_count": 42,
"data": [ ... ]
}Error Response
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error message"
}
}See the Error Codes page for a complete list of all error codes.
API Version
The API is currently at version v1. All breaking changes will be rolled out as a new version with a deprecation period.
💡 Next steps: Proceed to the Quickstart to create your first payment in 5 steps, or learn about authentication first.