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

StripeQA

目次一覧

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

Q70 / A / A5

 閲覧数:344 投稿日: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 Q70.「checkout.session.completed イベント」と「charge.succeeded イベント」と「application_fee.created イベント」の違いについて 36
2 Stripe Q10。Checkout の Simple で、「data-zip-code="true"」追加した場合について 29
3 Stripe Q45。「Direct Charges」と「Destination Charges」の書き方の違いについて 29
4 Stripe Q20。「webhook」と「synchronous」と「Checkout beta version」について 28
5 Stripe Q19。「PaymentIntents」と「Sourceオブジェクト」と「Sources API」の関係について 28
6 Stripe Q22。「新規Customerオブジェクト作成」と「'source'パラメータ指定タイミング」について 28
7 Stripe Q65.Connect Standard で連結されているStripeアカウントの違いについて 27
8 Stripe Q17。カード情報を「card object」「source object」へ保存する違いについて 27
9 Stripe Q47。Charge::create の 'receipt_email' について 27
10 Stripe Q55.Checkout\Session::createする際の、'client_reference_id'パラメータと'payment_intent_data.metadata'パラメータの違いについて 27
11 Q63.No signatures found matching the expected signature for payload について 27
12 Stripe Q8。Stripe Checkout public beta version について 27
13 Stripe Q73.CheckoutのSessionオブジェクトをcreateする際、'payment_intent_data'内の'metadata'として渡したデータを、webhookで受け取る件について 26
14 Stripe Q28。Sourceオブジェクトのusageプロパティのデフォルト値について 26
15 Stripe Q51.Connect Standard アカウント連結後の返り値で、"refresh_token”も保存した方が良いですか? 26
16 Stripe Q29。日本で、Connect Customアカウント を導入している事例について 26
17 Stripe Q33。CustomerオブジェクトのcreateSourceメソッドのAPIドキュメントについて 26
18 Stripe Q60. Checkout\SessionオブジェクトとPaymentIntentオブジェクトの関係性は1対1ですか? 25
19 Stripe Q32。Webhook のエンドポイントから適切な値を返さなかったときの停止措置について 25
20 Stripe Q48。「Checkout\Session - server」「Charge」「PaymentIntent」の使い分け方 25
2024/10/31 3:32 更新
週間人気ページランキング / 10-24 → 10-30
順位 ページタイトル抜粋 アクセス数
1 EMVCo | クレジットカード仕様(仕様) 7
2 EMVレベル1 / EMVレベル2 / EMVCo とは? 3
2 Stripeで"No such token: src"と表示されたら、最初にAPIキーを確認する | Stripe エラー(Stripe) 3
2 Twitch | ゲーム実況配信サービス(課金販売できるプラットフォーム) 3
3 Stripe Q74.「お客様のビジネスの詳細」とは何ですか? | Stripe 2
3 「支払」と「送金」の違い | 違い 2
3 Stripe Q1。Stripeにおける個人事業主の定義 | QA(Stripe) 2
3 Stripe への問い合わせ方 | その他エントリー(Stripe) 2
3 pixivFANBOX | クリエイター支援プラットフォーム(課金販売できるプラットフォーム) 2
4 Stripe Q66.Webhookエンドポイントが、"connect"内容も含むかどうかを確認するためにはどうすれば良いですか? | QA(Stripe) 1
4 本番環境利用の申請 | その他エントリー(Stripe) 1
4 Stripe Q16。PaymentIntentの支払いで郵便番号入力を求められる。Radar rules の ZIP code を無効にしているのに | QA(Stripe) 1
4 最初に結論 / Link / 質問履歴11 1
4 普通送金とは? / 処理の流れ 1
4 Stripe Q21。新規顧客作成時に新規ソースオブジェクトを添付したいのですが、No such token: src_xxxxとなります | QA(Stripe) 1
4 Stripe Q49。 Connect 「Standardアカウント」で、自身の子アカウントでも商品販売する場合、被る不利益はありますか? | QA(Stripe) 1
4 Stripe Q50。 Connect 「Standardアカウント」で、自身に連結された子アカウントを、ダッシュボードから削除するには? | QA(Stripe) 1
4 トークンとは? / トークン決済 / トークン決済を導入するメリット 1
4 送金 1
4 Stripe Q56. 作成したCheckout\Sessionオブジェクトが破棄されるタイミングは? | QA(Stripe) 1
2024/10/31 1:01 更新