How to Get List of Configured Payment Gateways via Admin API?

Context

I’m building a Shopify app that syncs orders to an accounting system (Zoho Books). Part of the setup requires merchants to map their Shopify payment methods to accounting payment modes/bank accounts.

The Challenge

I need to show merchants a list of their configured payment gateways so they can map each one to the corresponding accounting entry. However, I can’t find a way to fetch this list via the Admin API.

What I Need

A list of payment gateway names that will appear in order.payment_gateway_names[], for example:

  • “Cash on Delivery (COD)”

  • “Shopify Payments”

  • “PayPal Express Checkout”

  • “Stripe”

  • etc.

What I’ve Tried

:cross_mark: GraphQL Admin API - No Direct Query

query {
  shop {

    paymentSettings {

      supportedDigitalWallets  # Only returns APPLE_PAY, GOOGLE_PAY, SHOP_PAY

    }

  }

}


This only provides digital wallets, not all configured payment providers.

:cross_mark: Payment Customizations API

Can hide/move payment methods, but doesn’t provide a list of available gateways.

:white_check_mark: Historical Orders (Works, but with limitations)

query {
  orders(first: 250, reverse: true) {

    edges {

      node {

        paymentGatewayNames

      }

    }

  }

}

This works by extracting unique payment gateway names from past orders, but it has issues:

Limitations:

  1. Doesn’t work for new stores - Merchants who just installed the app and haven’t received orders yet can’t complete setup

  2. May miss payment methods - If a merchant configured a new payment gateway recently but hasn’t received orders with it, it won’t appear

  3. Requires merchant to wait - They can’t fully configure the app until they receive at least one order with each payment method

My Current Workaround

I’m using a hybrid approach:

  1. Query historical orders to extract payment_gateway_names

  2. Fetch digital wallets from shop.paymentSettings.supportedDigitalWallets

  3. Provide a static list of common payment methods

  4. Allow manual entry for unlisted methods

But this feels hacky and creates poor UX for new merchants.

Questions

Primary Question:

Is there a supported API endpoint (GraphQL or REST) to fetch the list of currently configured/enabled payment providers for a shop?

Similar to how WooCommerce exposes WC()->payment_gateways()->payment_gateways(), I’m looking for Shopify’s equivalent.

Secondary Questions:

  1. If no direct API exists, what’s the recommended approach for apps needing this information?

  2. Is this a common pain point? Would this be a good feature request for the Admin API?

  3. Are there any undocumented queries or alternative approaches I’m missing?

Use Case Details

  • App Type: Public Shopify app for accounting integration

  • Scopes: read_orders, read_payment_customizations

  • API Version: Latest (2024-10)

  • Goal: Pre-populate payment method mapping during initial app setup, even for stores with zero orders

Why This Matters

Many Shopify apps (accounting, ERP, analytics) need to map payment methods to external systems. Without a reliable way to discover configured payment gateways upfront, merchants face:

  • Incomplete setup experience

  • Having to revisit configuration after each new payment method

  • Manual data entry when automatic discovery should be possible


Any guidance would be greatly appreciated! :folded_hands:

1 Like

Hey @Bhanuvardhanreddy,

There’s currently no Admin API endpoint to retrieve configured payment gateways directly. This has come up before in this thread and this one.

That said, querying historical orders for the gateway field is a solid foundation. Merchants rarely change their payment gateway configuration, so you could build a pattern like:

  1. Initial setup: Query historical orders to populate existing gateways
  2. Ongoing: Subscribe to orders/create webhook
  3. New gateway detected: Alert the merchant to complete the mapping for that gateway

This way the system is self-maintaining. New stores would just need to complete their first order before that gateway appears for mapping, but after that it handles itself.

I’ve submitted this as a feature request internally on your behalf. The request captures the need for an API endpoint to query configured/enabled payment gateways, the use case for accounting integrations needing upfront payment method mapping, and the current workaround limitations for new stores. If this is added to the API, it would be versioned and tied to an API release. You can track all updates in the developers changelog.

1 Like

That would be so useful, I can name 10 apps from memory that would benefit from this.

1 Like