目次一覧
状態:-
閲覧数:1,116
投稿日:2019-08-19
更新日:2019-08-28
Q56 / A
Q56-2 / A
Q56-3 / A / 連絡
Q56-2 / A
Q56-3 / A / 連絡
Q56 / A
Q56
作成したCheckout\Sessionオブジェクトが破棄されるタイミングは?
2019/8/19
Checkout\Sessionオブジェクト作成後、このオブジェクトはどうなりますか?
・いつまでも参照可能(課金処理終了後も参照可能ですか)? 参照不可となることはあり得る?(その場合、破棄されるタイミングは?)
・Sessionオブジェクトで'payment_intent_data'パラメータを指定した場合でも、Sessionオブジェクトが破棄された場合は'payment_intent_data'パラメータ内容は参照不可となりますか?
・いつまでも参照可能(課金処理終了後も参照可能ですか)? 参照不可となることはあり得る?(その場合、破棄されるタイミングは?)
・Sessionオブジェクトで'payment_intent_data'パラメータを指定した場合でも、Sessionオブジェクトが破棄された場合は'payment_intent_data'パラメータ内容は参照不可となりますか?
PHPでの作成イメージ
$checkoutSession = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'payment_method_types' => ['card'],
'line_items' => [[
A
いつまでも参照可能(課金処理終了後も参照可能ですか)? 参照不可となることはあり得る?(その場合、破棄されるタイミングは?)
Checkout\Sessionオブジェクトの作成後、24時間以内にSessionの有効期限を経過しますが、データーの破棄ではございませんので、データーを取得(Retrieve)して参照することができます。SessionのデーターRetrieveに関するAPI 資料は、リンク[0]をご確認ください。また、弊社のCheckout Session については、[1]をご参考にしてください。Sessionオブジェクトで'payment_intent_data'パラメータを指定した場合でも、Sessionオブジェクトが破棄された場合は'payment_intent_data'パラメータ内容は参照不可となりますか?
こちらにつきましても、サーバー実装でStripeを導入される場合は、上記と同様にSessionデーターをRetrieveして、参照することが可能かと存じます。'payment_intent_data'に関する資料は、リンク[2]と[3]からご確認いただけます。[0]https://stripe.com/docs/api/checkout/sessions/retrieve#retrieve_checkout_session-session
[1]https://stripe.com/docs/api/checkout/sessions?checkout_session_object-subscription
[2]https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data
[3]https://stripe.com/docs/payments/payment-intents/creating-payment-intents#best-practices
Q56-2 / A
Q56-2
2019/8/21
ご提示いただいたリンクを改めて見て気が付いたのですが、もしかすると
payment_intent_dataパラメータとして渡したデータは、SESSION オブジェクト内に作成されないのではないですか?
「CREATE A SESSION」にも「RETRIEVE A SESSION」にも「payment_intent_data」がない理由は、
「CREATE A SESSION」は、Session を作成しているけれども、すべての内容をSession オブジェクトへ格納しているわけではなく、「payment_intent_data」パラメータなどはPAYMENTINTENT オブジェクトへ格納する実装になっているのでは??
payment_intent_dataパラメータとして渡したデータは、SESSION オブジェクト内に作成されないのではないですか?
「CREATE A SESSION」にも「RETRIEVE A SESSION」にも「payment_intent_data」がない理由は、
「CREATE A SESSION」は、Session を作成しているけれども、すべての内容をSession オブジェクトへ格納しているわけではなく、「payment_intent_data」パラメータなどはPAYMENTINTENT オブジェクトへ格納する実装になっているのでは??
A
前回のご案内が誤ってしまい、申し訳ありません。ご認識のとおりpayment_intent_data にて渡される値は、Session オブジェクト内ではなく、該当のSessionにより作成されるPaymentintentオブジェクトに保存される仕様でございます。
’payment_intent_data' にて渡された値を取得されたい場合、作成されたSession オブジェクトをretrieveし、Sessionオブジェクトの’payment_intent’ アトリビュートをexpandすることで、該当のPaymentintentオブジェクトを確認されるのがよろしいかと存じます:
https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-payment_intent
’payment_intent_data' にて渡された値を取得されたい場合、作成されたSession オブジェクトをretrieveし、Sessionオブジェクトの’payment_intent’ アトリビュートをexpandすることで、該当のPaymentintentオブジェクトを確認されるのがよろしいかと存じます:
https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-payment_intent
Q56-3 / A / 連絡
Q56-3
回答内容が私には難しかったので、今一度確認させてください。
下記は具体的にはどうするのですか?
>Sessionオブジェクトの’payment_intent’ アトリビュートをexpandする
Sessionオブジェクトの 「"payment_intent": "pi_xxxx"」を取得して、Paymentintentオブジェクトに対してretrieveするのか思っていたのですが、Sessionオブジェクトの'payment_intent'属性を直接展開する方法があるのでしょうか?
下記は具体的にはどうするのですか?
>Sessionオブジェクトの’payment_intent’ アトリビュートをexpandする
Sessionオブジェクトの 「"payment_intent": "pi_xxxx"」を取得して、Paymentintentオブジェクトに対してretrieveするのか思っていたのですが、Sessionオブジェクトの'payment_intent'属性を直接展開する方法があるのでしょうか?
A
'Payment_intent'属性は、expandable ですので、'expand’ パラメーターをご利用いただき、expand することができます。
'expand' => ['payment_intent']
Expand について詳しくは下記のリンクをご参考ください:https://stripe.com/docs/api/expanding_objects
'expand' => ['payment_intent']
Expand について詳しくは下記のリンクをご参考ください:https://stripe.com/docs/api/expanding_objects
連絡
作成したSession オブジェクトをretrieveしようと思ったのですが、どうしても取得できません。
何か勘違いをしていると思うのですが、取り敢えず他の手段で目的を達成することができたので、今回はそちらを利用しようと思います。
ご回答いただいた、Sessionオブジェクトの 'expand' => ['payment_intent'] はとても便利そうなので、
別の機会に試してみたいと思います。
何か勘違いをしていると思うのですが、取り敢えず他の手段で目的を達成することができたので、今回はそちらを利用しようと思います。
ご回答いただいた、Sessionオブジェクトの 'expand' => ['payment_intent'] はとても便利そうなので、
別の機会に試してみたいと思います。