GraphQL Admin APIが、販売者の請求通貨を用いたアプリ課金の作成をサポート

ShopifyのGraphQL Admin APIは、2023-04のリリースから、販売者のローカル請求通貨を使用したアプリ課金の作成を可能になります。この変更により、アプリ開発者は販売者が通貨為替レートの変動に影響を受けずにアプリの予算をより適切に管理できるようになります。

技術的課題の定義と現状分析

従来、アプリの課金はUSDでのみ作成可能であり、請求時の為替レートを使用して販売者のローカル通貨に変換されていました。これは、通貨の為替レートの変動により、販売者がアプリの課金を予測しにくいという問題を引き起こしていました。

具体的な技術的ソリューションの提案

この問題を解決するために、ShopifyのGraphQL Admin APIは、販売者のローカル請求通貨を使用したアプリ課金の作成を可能にする新機能を追加しました。これにより、アプリ開発者は販売者が通貨為替レートの変動から解放され、アプリの課金をより適切に予算化することが可能になります。

実装手順とコード例

まず、shopBillingPreferencesクエリを使用して、販売者のローカル請求通貨を取得します。その後、その通貨の値をGraphQL Billing APIの入力として渡すことで、ローカル請求通貨でのアプリ課金を作成することができます。


// shopBillingPreferencesクエリの実行例
const query = `{
  shopBillingPreferences {
    currencyCode
  }
}`;

// APIリクエストの実行
const response = await shopify.graphql(query);

// 請求通貨の取得
const currencyCode = response.shopBillingPreferences.currencyCode;

// currencyCodeを用いたアプリ課金の作成
const createAppChargeMutation = `mutation {
  appChargeCreate(input: {
    name: "My App Charge",
    price: { amount: 10.00, currencyCode: ${currencyCode} },
    returnUrl: "https://myapp.com/charges/1/confirm"
  }) {
    appCharge {
      id
      name
      price { amount currencyCode }
      status
    }
    userErrors {
      field
      message
    }
  }
}`;

パフォーマンス・コスト分析

この新機能の導入により、販売者が通貨為替レートの変動による予期せぬコスト増を避けることが可能になります。また、開発者はアプリの課金をより適切に管理し、より正確な料金設定を行うことができます。

実装時の注意点・ベストプラクティス

新機能を利用する際は、APIのバージョンが2023-04以降であることを確認してください。また、販売者のローカル請求通貨は、販売者の地域により異なるため、通貨コードの取得と使用には注意が必要です。

次のステップ・発展案

今後は、この新機能を活用して、販売者がアプリの課金をより理解しやすく、管理しやすい形にすることが期待されます。たとえば、販売者のローカル請求通貨を用いた料金詳細の表示や、通貨に応じた料金設定などの機能をアプリに追加することで、販売者の利便性を向上させることが可能です。

参考記事: GraphQL Admin API now supports creating app charges using the merchant's billing currency