0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Stripeで決済情報に独自データを埋め込む方法(payment_intent_data.metadata)

Posted at

はじめに

Stripeで決済処理を行う中で、「誰がどの注文をしたか」など、独自の情報を埋め込みたい場面ってありますよね?
そんなときに便利なのが metadata 機能です。

この記事では、Checkout Session作成時にpayment_intent_data.metadataを使って独自情報を渡す方法を紹介します。

使い方

たとえば、会員番号を決済情報に紐づけたい場合、以下のように記述します。

\Stripe\Stripe::setApiKey('sk_test_...');

$session = \Stripe\Checkout\Session::create([
    'payment_method_types' => ['card'],
    'mode' => 'payment',
    'line_items' => [[
        'price' => 'price_XXXXXXX',
        'quantity' => 1,
    ]],
    'payment_intent_data' => [
        'metadata' => [
            'member_entry_no' => $memberNo, // ここに独自データを追加
        ],
    ],
    'success_url' => 'https://example.com/success',
    'cancel_url' => 'https://example.com/cancel',
]);

できること

このようにして渡したデータは、以下の場所から確認・取得できます。
• Stripeの管理画面(支払い詳細のメタデータ欄)
• Webhookの payment_intent.succeeded イベント内
• API経由で PaymentIntent を取得したとき

便利な活用例

•	ユーザーID、会員番号の紐づけ
•	注文番号のトラッキング
•	アフィリエイトタグなどマーケティング用途
•	マルチテナントシステムでのテナントID伝播

注意点

•	metadataの値は最大50個のキー、各キー・値は最大500文字です。
•	センシティブな情報(個人情報など)は入れないようにしましょう。

まとめ

Stripeのmetadataは、決済情報に独自データを安全かつ簡単に埋め込める非常に便利な機能です。
Webhookと組み合わせることで、外部システムとの連携もスムーズになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?