Stripe Q30。Checkout (new) の「Checkout Server Quickstart」の「Step 2: Add Checkout to your website」について

StripeQA

目次一覧

 状態:-  閲覧数:616  投稿日:2019-04-13  更新日:2019-04-19  
質問履歴30 / 質問した後に気が付いたこと / A抜粋

質問履歴30 / 質問した後に気が付いたこと / A抜粋

 閲覧数:302 投稿日:2019-04-13 更新日:2019-04-19 

質問履歴30


Checkout (new) の「Checkout Server Quickstart」の「Step 2: Add Checkout to your website」について
・2019/4/13
下記をPHPで試しているのですが、エラーになります
https://stripe.com/docs/payments/checkout/server

エラーメッセージ
・Uncaught ReferenceError: cs_kaWQxxxx is not defined

下記ログを見ると「cs_kaWQxxxx」は作成されているのですが、なぜエラーになるのですか?
https://dashboard.stripe.com/test/logs/req_HOVJQ3DqWv8II9

もしかして、作成と同時に取得は出来ないのですか?
・その場合はどう使用するのですか?

試したコード
<?php
\Stripe\Stripe::setApiKey("sk_test_xxxx");

$checkoutSession = \Stripe\Checkout\Session::create([
 'success_url' => 'https://ecample.com',
 'cancel_url' => 'https://ecample.com',
 'payment_method_types' => ['card'],
 'line_items' => [[
   'amount' => 2000,
   'quantity' => 2,
   'name' => 'Blue banana',
   'currency' => 'usd',
   'images' => ['https://www.example.com/banana.png']
   ],
 ],
], [
 'stripe_version' => '2018-11-08; checkout_sessions_beta=v1'
]);
?>

<script src="https://js.stripe.com/v3"></script>

<button id="checkout-button" role="link">Pay</button>
<div id="error-message"></div>

<script>
 var stripe = Stripe('pk_test_xxxx', {
   betas: ['checkout_beta_4']
 });

 stripe.redirectToCheckout({
   sessionId: <?php echo $checkoutSession->id; ?>
 })
 .then(function (result) {
   if (result.error) {
     var displayError = document.getElementById('error-message');
     displayError.textContent = result.error.message;
   }
 });
</script>


async / defer

手動でマジックナンバーとして「cs_kaWQxxxx」を指定したら
・エラーは発生しないが、イベント欄に何も表示されない。支払い欄には追記されるが…
・もしかして、開発途中なの?

質問した後に気が付いたこと


jsにクリックイベント記述が必要
このコードは
・通常、支払いボタンのクリックなど、顧客が行った操作に応答してトリガーされるイベントハンドラーから呼び出される
Checkout Server Quickstart / チェックアウトサーバーのクイックスタート

セッションIDパラメータは、文字列で指定
セッションID
string
Stripe.js Reference

上記2つを修正したら
・期待した通り動作するようになった

A抜粋


チェックアウトのセッションIDはStringで書かれる必要がある
 stripe.redirectToCheckout({ 
 sessionId: 'cs_kaWQxxxx'
})




Stripe Q29。日本で、Connect Customアカウント を導入している事例について

Stripe Q31。ダッシュボードでの「支払い作成」の見方について

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



類似度ページランキング
順位 ページタイトル抜粋
1 Stripe Q30。Checkout (new) の「Checkout Server Quickstart」の「Step 2: Add Checkout to your website」について 38
2 Stripe Q20。「webhook」と「synchronous」と「Checkout beta version」について 38
3 Stripe Q8。Stripe Checkout public beta version について 32
4 Stripe Q10。Checkout の Simple で、「data-zip-code="true"」追加した場合について 31
5 Stripe Q43。payouts スケジュールについて 30
6 Stripe Q19。「PaymentIntents」と「Sourceオブジェクト」と「Sources API」の関係について 30
7 Stripe Q45。「Direct Charges」と「Destination Charges」の書き方の違いについて 29
8 Stripe Q48。「Checkout\Session - server」「Charge」「PaymentIntent」の使い分け方 29
9 Stripe Q17。カード情報を「card object」「source object」へ保存する違いについて 29
10 Stripe Q33。CustomerオブジェクトのcreateSourceメソッドのAPIドキュメントについて 29
11 Stripe Q28。Sourceオブジェクトのusageプロパティのデフォルト値について 28
12 Stripe Q29。日本で、Connect Customアカウント を導入している事例について 27
13 Stripe Q22。「新規Customerオブジェクト作成」と「'source'パラメータ指定タイミング」について 27
14 Stripe Q32。Webhook のエンドポイントから適切な値を返さなかったときの停止措置について 27
15 Stripe Q73.CheckoutのSessionオブジェクトをcreateする際、'payment_intent_data'内の'metadata'として渡したデータを、webhookで受け取る件について 27
16 Stripe Q62.Webhook::constructEventで、SignatureVerificationエラーになるのですが… 27
17 Stripe Q14。Customerオブジェクトをcreateする際の"source"パラメータについて 26
18 Stripe Q9。Checkout beta version で、webhookを受け取ると、client_reference_idがNULL 26
19 Stripe Q47。Charge::create の 'receipt_email' について 26
20 Stripe Q31。ダッシュボードでの「支払い作成」の見方について 26
2024/7/27 13:03 更新
週間人気ページランキング / 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 更新