Skip to content

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 URL

Brief flow:

  1. Client creates a payment → Gerbang Pay forwards it to the configured provider.
  2. Provider processes and sends a callback to Gerbang Pay.
  3. 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 MethodSupported Channels
Virtual AccountBCA, BRI, BNI, Mandiri, BSI, CIMB, Permata, Muamalat, Sinarmas, BNC, Maybank
QRISMPM Dynamic
E-WalletDANA, OVO, ShopeePay, AstraPay, SpeedCash
Over The CounterAlfamart, Indomaret, Fastpay

Midtrans

A leading payment provider with extensive coverage.

Payment MethodSupported Channels
Virtual AccountBCA, BNI, BRI, Mandiri, Permata, CIMB, Danamon
QRISMPM Dynamic
E-WalletGoPay
Cardless CreditAkulaku, Kredivo
Over The CounterAlfamart, Indomaret

Base URL

https://gerbang-pay-api.gai.co.id

All endpoints are under the /v1 prefix.

Example full URL:

https://gerbang-pay-api.gai.co.id/v1/payments/create

Response Format

All responses from Gerbang Pay use a consistent JSON envelope.

Success Response

json
{
  "success": true,
  "data": { ... }
}

For endpoints with pagination, the response includes total_count:

json
{
  "success": true,
  "total_count": 42,
  "data": [ ... ]
}

Error Response

json
{
  "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.

Gerbang Pay API Documentation