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

StripeQA

目次一覧

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

Q70 / A / A5

 閲覧数:324 投稿日: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/7/27 16:40 更新
週間人気ページランキング / 7-20 → 7-26
順位 ページタイトル抜粋 アクセス数
1 決済系サービス比較 | 決済(Webサービスビジネス) 3
1 Twitch | ゲーム実況配信サービス(課金販売できるプラットフォーム) 3
2 支払い 2
2 Stripe Q47。Charge::create の 'receipt_email' について | QA(Stripe) 2
2 Stripe webhook 配信の問題 / 実際に受け取った警告メールの受信例 2
2 Stripe Q37。PaymentIntentで支払いを行った後、成功画面を表示させるためにはどうすれば良いですか? | QA(Stripe) 2
3 普通送金とは? / 処理の流れ 1
3 ファンティア | クリエイター支援プラットフォーム(課金販売できるプラットフォーム) 1
3 Stripe Payments > SOURCES / ソース | documentation(Stripe) 1
3 Stripe Q16。PaymentIntentの支払いで郵便番号入力を求められる。Radar rules の ZIP code を無効にしているのに | QA(Stripe) 1
3 PaymentIntentで支払を実装する場合の選択肢 /「Payment Intents API」使用によるカードの支払確認方法は2種類 / PaymentMethodオブジェクトは歴史的経緯により3種類ある 1
3 決済用語 1
3 Stripe Q43。payouts スケジュールについて | QA(Stripe) 1
3 「払い戻し」と「チャージバック」の違い | 違い 1
3 EMVレベル1 / EMVレベル2 / EMVCo とは? 1
3 Stripe Q74.「お客様のビジネスの詳細」とは何ですか? | Stripe 1
3 Stripe Q21。新規顧客作成時に新規ソースオブジェクトを添付したいのですが、No such token: src_xxxxとなります | QA(Stripe) 1
3 Stripe オブジェクト | その他エントリー(Stripe) 1
3 LINE LIVE | ライブ配信サービス(課金販売できるプラットフォーム) 1
3 日本で、Connect Standardアカウント を導入している(と思われる)事例 | その他エントリー(Stripe) 1
2024/7/27 1:02 更新