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
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.
Payment Customizations API
Can hide/move payment methods, but doesn’t provide a list of available gateways.
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:
-
Doesn’t work for new stores - Merchants who just installed the app and haven’t received orders yet can’t complete setup
-
May miss payment methods - If a merchant configured a new payment gateway recently but hasn’t received orders with it, it won’t appear
-
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:
-
Query historical orders to extract
payment_gateway_names -
Fetch digital wallets from
shop.paymentSettings.supportedDigitalWallets -
Provide a static list of common payment methods
-
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:
-
If no direct API exists, what’s the recommended approach for apps needing this information?
-
Is this a common pain point? Would this be a good feature request for the Admin API?
-
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! ![]()