カテゴリー:
QA
閲覧数:328 配信日:2019-09-28 10:37
Q73
CheckoutのSessionオブジェクトをcreateする際、'payment_intent_data'内の'metadata'として渡したデータを、webhookで受け取る件について
2019/9/28
Q1.Checkout Session オブジェクトで、Stripeとは関係ない「任意の値」を格納できる場所はありますか?
client_reference_id に string型データを格納できるようですが、他にもありますか?
Q2.Checkout Session オブジェクトで、「任意のキー」を設定できる場所はありますか?
display_items.custom のキーは、「"description"、"images"、"name"」の3つだけ、かつ「固定キー名」ですか?
------------------------------------------------------------
< 前提 >
Connect Direct charge
https://dashboard.stripe.com/test/webhooks/we_1FApFFEfFqi3KPm39pJRvTEu
< 現状 >
CheckoutのSessionオブジェクトをcreateする際、'payment_intent_data'内の'metadata'として渡したデータを、webhook.phpの'checkout.session.completed'で取得しています。
▼index.php
▼webhook.php
< やりたいこと >
webhook.phpに直書している子アカウントテストシークレットキーを動的対応させたいのですが、やり方が分かりません。
Q3.webhookで、子アカウントテストシークレットキーを受け取ることは出来ますか?
Q4.(webhookで受け取った)親アカウントのpayment_intentから、子アカウントテストシークレットキーを使用せず、子アカウントのPaymentIntentデータを取得する方法はありますか?
client_reference_id に string型データを格納できるようですが、他にもありますか?
Q2.Checkout Session オブジェクトで、「任意のキー」を設定できる場所はありますか?
display_items.custom のキーは、「"description"、"images"、"name"」の3つだけ、かつ「固定キー名」ですか?
------------------------------------------------------------
< 前提 >
Connect Direct charge
https://dashboard.stripe.com/test/webhooks/we_1FApFFEfFqi3KPm39pJRvTEu
< 現状 >
CheckoutのSessionオブジェクトをcreateする際、'payment_intent_data'内の'metadata'として渡したデータを、webhook.phpの'checkout.session.completed'で取得しています。
▼index.php
\Stripe\Stripe::setApiKey('sk_test_親アカウント。シークレットキー');
$checkoutSession = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
//省略
]],
'payment_intent_data' => [
'application_fee_amount' => 200,
'metadata' => ['a_id' => 1,'b_id' => 2,],
],
//省略
], [
'stripe_account' => '子アカウント「Accountオブジェクトid」',
]);
?>
▼webhook.php
if ($event->type == 'checkout.session.completed') {
//省略
\Stripe\Stripe::setApiKey("子アカウントテストシークレットキー");
$intent = \Stripe\PaymentIntent::retrieve('取得したchildPaymentIntentId');
$chargeData = $intent->charges->data;
< やりたいこと >
webhook.phpに直書している子アカウントテストシークレットキーを動的対応させたいのですが、やり方が分かりません。
Q3.webhookで、子アカウントテストシークレットキーを受け取ることは出来ますか?
Q4.(webhookで受け取った)親アカウントのpayment_intentから、子アカウントテストシークレットキーを使用せず、子アカウントのPaymentIntentデータを取得する方法はありますか?
A
Q1 Checkout Session オブジェクトで、Stripeとは関係ない「任意の値」を格納できる場所はありますか?
・client_reference_id に string型データを格納できるようですが、他にもありますか?
恐れ入りますが、Checkout Session オブジェクトにはclient_reference_idの他に「任意の値」を指定できるオブジェクトがございません。client_reference_id でご対応いただきたく存じます:https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-client_reference_id
Q2 Checkout Session オブジェクトで、「任意のキー」を設定できる場所はありますか?
・display_items.custom のキーは、「"description"、"images"、"name"」の3つだけ、かつ「固定キー名」ですか?
下記からご確認いただいているかと存じますが、display_items.custom のキーは、「"description"、"images"、"name"」の3つとなります:https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-display_items
なお、上記 "description" と "name" には任意のキーを設定していただけます。"images" は任意の画像URLとなります。
なお、上記 "description" と "name" には任意のキーを設定していただけます。"images" は任意の画像URLとなります。
Q3.webhookで、子アカウントテストシークレットキーを受け取ることは出来ますか?
セキュリティの関係上、Webhookからは子アカウントIDのみ受け取ることが可能です。
Q4.(webhookで受け取った)親アカウントのpayment_intentから、子アカウントテストシークレットキーを使用せず、子アカウントのPaymentIntentデータを取得する方法はありますか?
Stripe-Account
header をご活用いただくことで、シークレットキー以外でセキュリティを確保の上、子アカウントのデータ取得やアカウント処理を行うことが可能です。
Stripe-Account
header についてはこちらをご参照ください:https://stripe.com/docs/connect/authentication#stripe-account-header
header をご活用いただくことで、シークレットキー以外でセキュリティを確保の上、子アカウントのデータ取得やアカウント処理を行うことが可能です。
Stripe-Account
header についてはこちらをご参照ください:https://stripe.com/docs/connect/authentication#stripe-account-header