---
title: "List the supported payment gateways"
description: "The gateways a gateway account can be created for: display name, the credentials each takes, the methods it can be enabled for, and who owns its webhook signing secret."
canonical_url: "https://twominutebilling.com/help/developers/api-reference/payment-methods/list-the-supported-payment-gateways"
---
# List the supported payment gateways

> The gateways a gateway account can be created for: display name, the credentials each takes, the methods it can be enabled for, and who owns its webhook signing secret.

<api-operation method="GET" path="/v1/gateways">
<template v-slot:docs="">

Credentials are write-only on the account; this lists only their fields.

## Response

<table>
<thead>
  <tr>
    <th>
      Field
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The object type; always <code>
        list
      </code>
      
      . One of <code>
        list
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data
      </code>
    </td>
    
    <td>
      <code>
        array of object
      </code>
    </td>
    
    <td>
      The gateways you can connect.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.object
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The object type; always <code>
        gateway
      </code>
      
      . One of <code>
        gateway
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.key
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The gateway's key, used as <code>
        provider
      </code>
      
       elsewhere in the API. One of <code>
        tmtest
      </code>
      
      , <code>
        stripe
      </code>
      
      , <code>
        paypal
      </code>
      
      , <code>
        razorpay
      </code>
      
      , <code>
        gocardless
      </code>
      
      , <code>
        braintree
      </code>
      
      , <code>
        cashfree
      </code>
      
      , <code>
        adyen
      </code>
      
      , <code>
        checkoutcom
      </code>
      
      , <code>
        authorizenet
      </code>
      
      , <code>
        square
      </code>
      
      , <code>
        mollie
      </code>
      
      , <code>
        payu
      </code>
      
      , <code>
        cybersource
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.display_name
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The gateway's display name.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.note
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      A note about using this gateway.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.simulated
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      Moves no real money. Refused on a live business.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.available
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      You can connect a new account of this gateway. When false, creating an account is refused. Existing accounts of the gateway keep working.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.unavailable_reason
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      Why the gateway is not available yet. Null when <code>
        available
      </code>
      
       is true.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.credential_fields
      </code>
    </td>
    
    <td>
      <code>
        array of object
      </code>
    </td>
    
    <td>
      The credentials this gateway needs when you create a gateway account.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.method_types
      </code>
    </td>
    
    <td>
      <code>
        array of object
      </code>
    </td>
    
    <td>
      Values for a gateway account's <code>
        method_types
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.webhook_secret
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      Who owns the webhook signing secret: the gateway mints it when we register the endpoint (<code>
        provider_minted
      </code>
      
      ), we generate it (<code>
        shared
      </code>
      
      ), the gateway signs with an API credential the account already holds (<code>
        credential
      </code>
      
      ), the operator copies it from the gateway's dashboard (<code>
        operator_pasted
      </code>
      
      ), or the gateway sends no webhooks (<code>
        none
      </code>
      
      ). One of <code>
        provider_minted
      </code>
      
      , <code>
        shared
      </code>
      
      , <code>
        credential
      </code>
      
      , <code>
        operator_pasted
      </code>
      
      , <code>
        none
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.webhook_instructions
      </code>
    </td>
    
    <td>
      <code>
        array of string
      </code>
    </td>
    
    <td>
      Steps to set up the gateway's webhook for this account.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.webhook_account_id_in_path
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      The notification URL carries the account id in the path (<code>
        /v1/gateway_webhooks/<gateway>/<account>
      </code>
      
      ), because the gateway refuses a query string. Otherwise it is <code>
        /v1/gateway_webhooks/<gateway>?id=<account>
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.intent_purposes
      </code>
    </td>
    
    <td>
      <code>
        array of string
      </code>
    </td>
    
    <td>
      What the gateway can do for a buyer: take a payment now (<code>
        payment
      </code>
      
      ), save a payment method (<code>
        setup
      </code>
      
      ), or both. A request that needs one is routed only to accounts whose gateway lists it.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.wallet_domains
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      The gateway registers storefront domains for Apple Pay and Google Pay buttons (<code>
        POST /v1/businesses/{biz}/gateway_accounts/{gwa}/wallet_domains
      </code>
      
      ).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.ach_authorization
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      Who takes the payer's ACH debit authorization for <code>
        us_bank_account
      </code>
      
      . <code>
        gateway
      </code>
      
      : the gateway's own form shows it. <code>
        ours
      </code>
      
      : our checkout and portal show the authorization, and the payer accepts it before the bank account is saved. Null: the gateway offers no ACH debit. One of <code>
        gateway
      </code>
      
      , <code>
        ours
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.currencies
      </code>
    </td>
    
    <td>
      <code>
        array of string
      </code>
    </td>
    
    <td>
      The currencies a gateway account of this gateway can route (ISO 4217). An account's <code>
        currencies
      </code>
      
       must be on this list, and an account with no list routes only these. A currency the account already has stays. Null: any currency.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        data.international_domestic_currency
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      Set when the gateway takes other currencies only after it enables international payments on your account. An account of this gateway then has <code>
        international_enabled
      </code>
      
      : false, it takes only this currency. Null: no such switch.
    </td>
  </tr>
</tbody>
</table>

## Status codes

<table>
<thead>
  <tr>
    <th>
      Status
    </th>
    
    <th>
      Meaning
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        200
      </code>
    </td>
    
    <td>
      OK
    </td>
  </tr>
</tbody>
</table>
</template>

<template v-slot:request="">

```bash [Request]
curl "$TMBILLING_URL/v1/gateways" \
  -H "Authorization: Bearer $TMBILLING_API_KEY"
```

</template>

<template v-slot:response="">

```json [200 OK]
{
  "object": "list",
  "data": [
    {
      "object": "gateway",
      "key": "tmtest",
      "display_name": "Example",
      "simulated": false,
      "available": true,
      "unavailable_reason": null,
      "credential_fields": [
        {
          "key": "seats",
          "label": "Region"
        }
      ],
      "method_types": [
        {
          "value": "West",
          "label": "Example",
          "available": true,
          "unavailable_reason": null
        }
      ],
      "webhook_secret": "provider_minted",
      "webhook_instructions": [
        "Webhook instruction"
      ],
      "intent_purposes": [
        "payment"
      ],
      "ach_authorization": "gateway",
      "currencies": [
        "USD"
      ]
    }
  ]
}
```

</template>
</api-operation>


## Sitemap

See the full [sitemap](https://twominutebilling.com/sitemap.md) for all pages.
