Shopify Payments Apps API 2022-04リリース:新たなペンディングミューテーション導入

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

Shopify Payments Appsでは、支払い処理に時間がかかる場合、顧客はその処理が完了するまで注文が完了しないという課題がありました。これは、特に処理時間が長い場合、顧客の体験を損なう可能性がありました。

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

この課題を解決するため、Shopify Payments AppsのGraphQL APIの2022-04リリースでは、新たなミューテーションを導入し、支払いをペンディング状態にすることが可能となりました。ペンディング状態にすることで、支払い処理がすぐに完了しない場合でも、顧客は注文を完了できるようになります。

3. 実装手順とコード例

ペンディングミューテーションを使った支払い処理は以下のように実装できます。まず、支払い処理が始まった時点でペンディングステータスを設定します。その後、支払い処理が完了したら、そのステータスを更新することで顧客に対して注文が完了したことを通知します。


mutation {
  paymentCreate(input: {
    pending: true
    amount: "100.00"
    uniqueToken: "1234567890"
  }) {
    payment {
      id
      state
    }
    userErrors {
      field
      message
    }
  }
}

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

この新機能を導入することで、支払い処理が長時間にわたる場合でも、顧客は注文を待つことなく完了できるようになります。これにより、顧客の体験が向上し、結果的にショップの売上向上に繋がる可能性があります。

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

新たなペンディングミューテーションを実装する際には、以前のstatusフィールドが非推奨となり、新たにstateフィールドが追加されたことに注意が必要です。既存のコードに影響が出ないように、適切なタイミングでコードの更新を行ってください。

6. 次のステップ・発展案

次のステップとしては、この新機能を活用して、さまざまな支払いシナリオに対応することが考えられます。例えば、支払いが一定時間内に完了しない場合の通知機能を追加するなど、より顧客の体験を向上させるための工夫を行うことが可能です。

参考記事: New pending mutation in Payments Apps API 2022-04 release