GraphQL Bug - ShopifyPaymentsBankAccount returns null for Shopify Installments

I’m trying to automate reconciliation for my accounting team by querying the payouts, and the documentation https://shopify.dev/docs/api/admin-graphql/2023-10/objects/ShopifyPaymentsPayout specifies the ShopifyPaymentsBankAccount object that should be getting returned. For Shopify Payments I’m able to see the bank account and fields I need (id, bankName, accountingNumberLastDigits, country) however for Shopify Installment transactions it returns a null. Is there a ticket tracking this or a different query that will return the bank account information?

Here’s an example query of what I’m running:

query {
  shopifyPaymentsAccount {
    __typename
    id
    activated
    country
    defaultCurrency
    payouts (first:100, reverse:true) {
        edges {
            cursor
            node {
                id
                net {
                    amount
                    currencyCode
                }
                issuedAt
                transactionType
                status
                bankAccount {
                    id
                    bankName
                    accountNumberLastDigits
                    country
                    createdAt
                    currency
                    status
                }
            }
        }
        pageInfo {
            endCursor
            hasNextPage
        }
    }
  }
}
1 Like

Hi Reach-Nick,

The problem you’re encountering might be due to the fact that Installment transactions are handled differently compared to regular Shopify Payment transactions. Shopify uses a third-party provider to handle payments and the payouts for these transactions might not be directly linked to a bank account, hence the null value in the response.

Unfortunately, the Shopify API currently doesn’t support querying bank account data for Installment transactions. You could add a check in your code to handle null bank account data and prevent any errors in your reconciliation process?

Hope this helps,

We’re building in a custom manual workflow so that we can have someone confirm the bank account, which is painful but probably the best thing we have for that situation. Your response makes sense, but the portal is able to show the last 2 digits of the account number and the currency on the Settings → Payments → View Payouts page, do you know where that data is coming from? Is that not available via any of the APIs?