UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#172 Stripe Checkout Session metadataと、payment_intent_dataのmetadata の違い

記入日:2023-06-29 編集日:2023-06-29

Stripe Checkout Session metadataと、payment_intent_dataのmetadata の違いを解説してみようと思います。

この記事を読むと(約5分)
Stripe Checkout Session metadataと、payment_intent_dataのmetadata の違いをイメージできます。

metadataと、payment_intent_dataのmetadata

// Stripe Checkout Sessionを作成
$checkoutSession = \Stripe\Checkout\Session::create([
  'metadata' => [
    'metaA' => 'xxxxxxA',
  ],
  'payment_intent_data' => [
    'metadata' => [
      'metaB' => 'xxxxxxB',
      'metaC' => 'xxxxxxC',
    ]
  ],
]);

Stripe Checkout Sessionの作成時に使用されるmetadataとpayment_intent_dataのmetadataは、それぞれ異なる目的とコンテキストで使用されます。

1. metadata:
metadataは、Stripe Checkout Sessionオブジェクト自体に関する追加のカスタムデータを提供するために使用されます。これは、StripeのAPIで取り扱うオブジェクトのメタデータとして機能します。metadataは、キーと値のペアの形式で提供され、オブジェクトに関する情報や追加のカスタムデータを格納するために使用できます。例えば、注文の詳細、顧客の特定の属性、注文の追加の注釈などを保存するために使用できます。

metadataは、Checkout Sessionオブジェクト自体に関連する情報を提供するために使用され、支払いに直接関与する情報を提供するためではありません。

2. payment_intent_dataのmetadata:
payment_intent_dataのmetadataは、支払いインテント(Payment Intent)オブジェクトに関連する追加のカスタムデータを提供するために使用されます。Stripe Checkoutでは、支払いのために自動的に作成される支払いインテントを使用します。このmetadataは、支払いに関連する追加のカスタムデータを提供するために使用されます。

payment_intent_dataのmetadataは、支払いインテントオブジェクトに関連する情報を提供するために使用され、Stripe Checkout Sessionオブジェクト自体に関する情報を提供するためではありません。

要約すると、metadataはStripe Checkout Sessionオブジェクトに関連するカスタムデータを提供し、payment_intent_dataのmetadataは支払いインテントオブジェクトに関連するカスタムデータを提供します。

インテントオブジェクトとは

支払いインテント(Payment Intent)オブジェクトは、Stripeの支払い処理の主要なコンポーネントであり、支払いトランザクションを表すために使用されるオブジェクトです。支払いインテントは、顧客が商品やサービスを購入する際の支払いの意図を表現します。

Stripeでは、支払いの流れを制御するために支払いインテントを使用します。具体的には、支払いの作成、更新、確認、キャンセルなどの操作を行うことができます。

支払いインテントには、以下のような主要な特徴があります:

  1. 金額と通貨: 支払いの金額と通貨を指定します。
  2. 支払い方法: クレジットカード、デビットカード、Apple Pay、Google Payなどの支払い方法を指定します。
  3. ステータス: 支払いインテントのステータスは、作成時は"requires_payment_method"(支払い方法が必要)、支払いが確定すると"succeeded"(成功)や"canceled"(キャンセル)などに変化します。
  4. クライアント側の承認: クライアント側での追加の承認処理が必要な場合、支払いインテントにその情報を追加することができます。

支払いインテントは、セキュアな支払い処理を行うための重要な役割を果たしており、StripeのAPIを介して支払いを作成、更新、管理するために使用されます。

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。