Stripe Q70.「checkout.session.completed イベント」と「charge.succeeded イベント」と「application_fee.created イベント」の違いについて

StripeQA

目次一覧

 状態:-  閲覧数:504  投稿日:2019-08-26  更新日:2019-09-03  
Q70 / A / A5

Q70 / A / A5

 閲覧数:138 投稿日:2019-08-26 更新日:2019-09-03 

Q70


「checkout.session.completed イベント」と「charge.succeeded イベント」と「application_fee.created イベント」の違いについて
2019/8/26
< checkout.session.completed イベント >
Stripe sends the checkout.session.completed event when a Checkout payment is successful.
https://stripe.com/docs/payments/checkout/fulfillment

< charge.succeeded イベント>
when a charge succeeds, we create a charge.succeeded
https://stripe.com/docs/api/events

< application_fee.created イベント>
ドキュメントの場所が分かりませんでした

--------------------------------------------

例えば下記コードの場合、
・Q1.charge.succeeded イベントは発生しますか?

・Q2.chargeがよく分かっていないのですが、subscriptionでなければ全てchargeという認識で合っていますか? それとも明示的にChargeオブジェクトを作成しなければ、chargeイベントは発生しない?

・Q3.application_fee.created イベントが発生するのは、checkout.session.completed イベントと同じタイミングですか? それともcreateなので、checkout.sessionがcreateしたタイミングと同じですか?

・Q4.application_fee.created イベントは、checkout.sessionの支払い成功とは無関係ですか?

・Q5.checkout.sessionに関して、completedイベントしか用意されていないのはなぜですか? createがないのはなぜ? 作成から完了までほとんどタイムラグなく終わるからですか?


--------------------------------------------
< PHPコード抜粋 >
\Stripe\Checkout\Session::create([
 'payment_method_types' => ['card'],
 'line_items' => [[
   'name' => "デモ",
   'amount' => 200,
 ]],
 'payment_intent_data' => [
   'application_fee_amount' => 20,
 ],
], [
 'stripe_account' => 'acct_xxxx', //子
]);



A


Q1.charge.succeeded イベントは発生しますか?
該当の子アカウント上でcharge.succeeded イベントが発生します。

Q2.chargeがよく分かっていないのですが、subscriptionでなければ全てchargeという認識で合っていますか? それとも明示的にChargeオブジェクトを作成しなければ、chargeイベントは発生しない?
Chargeオブジェクトが作成されますと、Chargeに関するイベントが発生します。

ご存知かと思いますが、Checkout sessionによる決済を行われた際に、PaymentIntentが作成されます。お客さまがお支払いしますと、該当のPaymentIntentがconfirmされ、chargeが行われます。

定期支払いにCheckout sessionを作成する場合(payment_intent_dataではなくsubscription_dataが利用される場合)におきましても、初期決済が行われましたらchargeが作成されます。

・Q3.application_fee.created イベントが発生するのは、checkout.session.completed イベントと同じタイミングですか? それともcreateなので、checkout.sessionがcreateしたタイミングと同じですか?
application_fee.createdイベントはお客さまがお支払いして、決済が完了した際に発生します。そのため、application_fee.created イベントはcheckout.session.completed イベントと同じタイミングに発生します。

application_fee.createdイベントにつきましてはこちらでご参照いただけます。
https://stripe.com/docs/api/events/types#event_types-application_fee.created

・Q4.application_fee.created イベントは、checkout.sessionの支払い成功とは無関係ですか?
application_fee.created はcheckout.sessionによるchargeが成功し、その決済に適用されたプラットフォーム手数料を徴収する際に発生するイベントとなります。

A5


・Q5.checkout.sessionに関して、completedイベントしか用意されていないのはなぜですか? createがないのはなぜ? 
ご認識の通り、checkout.sessionに関してcompletedイベントのみが用意されております。

'checkout.session.completed' は決済を完了させることをトリガーするために用意されておりますが、 'checkout.session.created' に関しては、 POST /v1/checkout/sessionsがコールされた際に 'payment_intent.created'または 'setup_intent.created' が発生するため用意されておりません。

作成から完了までほとんどタイムラグなく終わるからですか?
Checkout sessionが作成した後に必ずしも 'checkout.session.completed'イベントが即時に発生するとは限りません。Checkout sessionオブジェクトは POST /v1/checkout/sessionsへのAPI call が行われた時点に作成されます。その後、顧客がCheckoutページにアクセスし、カード情報を入力して決済(またはカード情報の保存)を行っていただきます。そのため、 'checkout.session.completed' が 'payment_intent.created' または 'setup_intent.created' イベントが発生した後にすぐ発生しない場合がございます。


Stripe Q69.Stripe ダッシュボードのバージョン確認及びアップデートについて

Stripe Q71.CheckoutSessionで、success_urlに指定したURLでzipダウンロードすると、success_urlへ遷移しない

コメント投稿(ログインが必要)



類似度ページランキング
順位 ページタイトル抜粋
1 Stripe Q10。Checkout の Simple で、「data-zip-code="true"」追加した場合について 29
2 Stripe Q45。「Direct Charges」と「Destination Charges」の書き方の違いについて 29
3 Stripe Q20。「webhook」と「synchronous」と「Checkout beta version」について 28
4 Stripe Q19。「PaymentIntents」と「Sourceオブジェクト」と「Sources API」の関係について 28
5 Stripe Q22。「新規Customerオブジェクト作成」と「'source'パラメータ指定タイミング」について 28
6 Stripe Q65.Connect Standard で連結されているStripeアカウントの違いについて 27
7 Stripe Q17。カード情報を「card object」「source object」へ保存する違いについて 27
8 Stripe Q47。Charge::create の 'receipt_email' について 27
9 Stripe Q55.Checkout\Session::createする際の、'client_reference_id'パラメータと'payment_intent_data.metadata'パラメータの違いについて 27
10 Q63.No signatures found matching the expected signature for payload について 27
11 Stripe Q8。Stripe Checkout public beta version について 27
12 Stripe Q73.CheckoutのSessionオブジェクトをcreateする際、'payment_intent_data'内の'metadata'として渡したデータを、webhookで受け取る件について 26
13 Stripe Q28。Sourceオブジェクトのusageプロパティのデフォルト値について 26
14 Stripe Q51.Connect Standard アカウント連結後の返り値で、"refresh_token”も保存した方が良いですか? 26
15 Stripe Q29。日本で、Connect Customアカウント を導入している事例について 26
16 Stripe Q33。CustomerオブジェクトのcreateSourceメソッドのAPIドキュメントについて 26
17 Stripe Q60. Checkout\SessionオブジェクトとPaymentIntentオブジェクトの関係性は1対1ですか? 25
18 Stripe Q32。Webhook のエンドポイントから適切な値を返さなかったときの停止措置について 25
19 Stripe Q48。「Checkout\Session - server」「Charge」「PaymentIntent」の使い分け方 25
20 Stripe Q14。Customerオブジェクトをcreateする際の"source"パラメータについて 25
2021/12/01 21:25 更新
週間人気ページランキング / 11-24 → 11-30
順位 ページタイトル抜粋 アクセス数
1 Stripe Q11。テストAPIで、実際のカード番号を入力したらどうなりますか? | QA(Stripe) 16
2 Stripeアカウントへログインする際、モバイル端末で受信したコード入力を求められる理由は? | その他エントリー(Stripe) 15
3 Stripe Q16。PaymentIntentの支払いで郵便番号入力を求められる。Radar rules の ZIP code を無効にしているのに | QA(Stripe) 14
3 Stripe Q13。決済成功時に、「請求に紐づけられたメールアドレス」に対して、メール送信したいのですが、 | QA(Stripe) 14
4 その他エントリー(Stripe) カテゴリー 13
5 EMVCo | クレジットカード仕様(仕様) 11
6 Stripe Q47。Charge::create の 'receipt_email' について | QA(Stripe) 9
6 Sources and Customers / Sourceオブジェクト と Customerオブジェクト 9
6 Stripe Q50。 Connect 「Standardアカウント」で、自身に連結された子アカウントを、ダッシュボードから削除するには? | QA(Stripe) 9
7 機能一覧表 / Q.アカウント複数作成 / Stripeアカウント登録 7
8 クレジットカード決済代行サービス | 決済(Webサービスビジネス) 6
8 Payment Intents Usage Guide / Payment Intents 使用ガイド 6
9 投げ銭サービス | 課金販売できるプラットフォーム 5
9 Stripe Connect Customアカウント の検討 | Stripe 5
9 新 Stripe 内の選択肢 | その他エントリー(Stripe) 5
9 Stripe Q24。After attaching the source to the customer object, how do I check from the customer object? | QA(Stripe) 5
9 Stripe Q22。「新規Customerオブジェクト作成」と「'source'パラメータ指定タイミング」について | QA(Stripe) 5
9 Stripe Q31。ダッシュボードでの「支払い作成」の見方について | QA(Stripe) 5
10 為替取引の機能面による分類 / 為替取引の隔地者による分類 4
10 Stripe Q48。「Checkout\Session - server」「Charge」「PaymentIntent」の使い分け方 | QA(Stripe) 4
2021/12/1 1:01 更新