Skip to content

List Active Methods

This endpoint is used to retrieve a hierarchical structure of providers, payment methods, and their supported channels (banks/outlets) that are currently active for your tenant.

This response is extremely useful if you want to render (build the UI for) a checkout page on your client application dynamically based on the Dashboard configuration.

The returned data has already taken into account:

  1. Which providers are enabled (Entitlements)
  2. The routing rules you have set (e.g., VA routed to Winpay)
http
GET /v1/active-methods

Request Headers

HeaderTypeRequiredDescription
AuthorizationstringBearer {api_key} or Bearer {jwt_token}

Response

The endpoint returns a hierarchical array: Providers → Methods → Channels.

Example Request

bash
curl -X GET https://gerbang-pay-api.gai.co.id/v1/active-methods \
  -H "Authorization: ApiKey gp_live_xxxxxxxxxxxx"

Example Response (200 OK)

json
{
  "success": true,
  "data": {
    "providers": [
      {
        "code": "winpay",
        "name": "winpay",
        "methods": [
          {
            "type": "virtual_account",
            "name": "Virtual Account",
            "channels": [
              { "code": "bca", "name": "BCA" },
              { "code": "bni", "name": "BNI" }
            ]
          },
          {
            "type": "e_wallet",
            "name": "E-Wallet",
            "channels": [
              { "code": "dana", "name": "DANA" },
              { "code": "ovo", "name": "OVO" }
            ]
          }
        ]
      },
      {
        "code": "midtrans",
        "name": "midtrans",
        "methods": [
          {
            "type": "cardless_credit",
            "name": "Cardless Credit",
            "channels": [
              { "code": "akulaku", "name": "AKULAKU" },
              { "code": "kredivo", "name": "KREDIVO" }
            ]
          }
        ]
      }
    ]
  }
}

Usage Tips

  • providers[i].methods[j].type: This is the value you should send to the method_type parameter when calling the Create Payment API.
  • providers[i].methods[j].channels[k].code: This is the value you should send to the internal method_detail parameter (like the bank or wallet_type field) when calling the Create Payment API.
  • You can hide the "Provider" level in your application's UI and directly flatten the "Methods" level, as your users generally only care about the "Payment Method" rather than the name of the underlying Provider.

Gerbang Pay API Documentation