注文の支払い方法をGraphiQL Admin APIで取得したい

Topic summary

  • 目的: GraphiQL Admin APIで注文の「支払い方法」を取得したいが、期待する値が得られない。

  • 試行内容: paymentCollectionDetails内のvaultedPaymentMethods.paymentInstrumentを参照し、型分岐(VaultPaypalBillingAgreement/VaultCreditCard)のnameを取得するクエリを実行したが値が返らない。GraphQLスニペットが提示されている。

  • 前提条件: 開発ストアでBogusゲートウェイによるテスト注文を作成(Shopifyヘルプ記載の手順に準拠)。

  • 相談点: 記述の誤りか、参照すべき項目の選定ミスかを含め、注文の「支払い方法」を取得する正しいフィールドとクエリの書き方を知りたい。

  • 現状: 回答・解決はまだなく、未解決のまま。

Summarized with AI on January 20. AI used: gpt-5.

GraphiQL Admin APIで注文の情報を取得するときに、「支払い方法」を取得したいです。
「paymentCollectionDetails」を下記の記述で取得すればできると思っていたのですが、
記述が間違っているのか、そもそも項目を間違えてしまっているのか値が取得できていません。

注文の「支払い方法」を取得したい場合、どの項目をどのような記述で取得すればよろしいでしょうか。

paymentCollectionDetails{
vaultedPaymentMethods{
paymentInstrument{
__typename
…on VaultPaypalBillingAgreement{
name
}
…on VaultCreditCard{
name
}
}
}
}

※確認しているのは開発ストアで、下記を元にBogusゲートウェイでテスト注文した結果を取得しようとしています。
https://help.shopify.com/ja/manual/checkout-settings/test-orders

1 Like

paymentCollectionDetails や vaultedPaymentMethods は、保存済みのクレジットカードやPayPalアカウントの情報を取得するためのものです。

Bogusゲートウェイでのテスト注文では、保存済み情報がないため値は返ってきません。

注文の支払い方法を知りたいだけなら、paymentGatewayNames を見ればOKです。ここに「Bogus Gateway」など、実際に使われた支払い方法が入っています。

要するに、テスト注文ではVault情報は空なので、支払い方法は paymentGatewayNames を参照するのが正解です。

1 Like

私はこのように注文の支払い方法を取得しています。参考までに記載します。

query queryOrders($query:String) {
  orders(first:10,query:$query) {
    edges {
      node {
        id
        name
        createdAt
        lineItems(first:10){
            nodes{
                currentQuantity
                name
                quantity
            }
        }
        totalPriceSet{
            presentmentMoney{
                amount
                currencyCode
            }
        }
        transactions(first: 10) {
            gateway
            formattedGateway
            paymentDetails {
                __typename
                ... on CardPaymentDetails {
                paymentMethodName
                }
                ... on ShopPayInstallmentsPaymentDetails {
                paymentMethodName
                }
            }
            paymentIcon {
                url
            }
        }
      }
    }
  }
}
1 Like

@Zicosavvy
@Eric-HAN
有難うございます!
「paymentGatewayNames」や「transactions下のpaymentDetails」で
支払方法を確認できました!

@Eric-HAN
transactionsの情報だとテスト注文でも支払方法の詳細が確認できるんですね!
おかげでクレジットカード支払いのときは具体的にどのような情報が取得できるのかを確認できました。
有難うございます。