APIからのコールバック処理について
-
stripeという決済サービスでAPIからのコールバック処理を作成するにあたって質問させていただきたいです。
購入決済完了後、wordpress上のDBの値を更新する処理を作成しようとしています。
そもそもコールバック処理自体作成したことがなくどのように受け取れば良いのかわかっていません。APIのドキュメントを見ていると
成功時のリダイレクトURL:domein/success
成功時のリダイレクトURL:domein/canceled
となっています。wordpress側で固定ページ:successを作成し、
テストモードで決済すると、ちゃんとdomein/successに遷移されます。ダッシュボードのログを見ると「応答本文」として下記jsonのようなものが確認できます
しかし、domein/successで「ページのソースを表示」を見ても特にjsonのようなものは見当たりませんでした。応答本文
{
"id": "ppage_1Mqx9bJqupZfn56U7gzb3tXU",
"object": "checkout.session",
"account_settings": {
"account_id": "acct_1MqVDsJqupZfn56U",
"assets": {
"icon": null,
"logo": null,
"use_logo": false
},
"branding": {
"background_color": null,
"border_style": "default",
"button_color": null,
"font_family": "default"
},
"country": "JP",
"display_name": "domein",
"privacy_policy_url": null,
"specified_commercial_transactions_act_url": null,
"statement_descriptor": "domein",
"support_email": null,
"support_phone": "+819000000000",
"support_url": null,
"terms_of_service_url": null
},
"beta_versions": null,
"billing_address_collection": null,
.
.
.
.ダッシュボードで生成される購入ボタンのコード自体はjsになっていて
successUrlに遷移するようになっているので、URLパラメータを設定しようかと思いましたが
こんなことをすると不正利用が簡単にできてしまうので、PHPページで受け取るにはどうすればいいんだろうと思った次第です
var stripe = Stripe('pk_test_51MqVDsJqupZfn5IUuMQIVDdSV2FfJ1qCOZ4FeL5jzhz7sFbE3Nh4OE67gIBABla4EL0YYyY1RrT30WKpeyOpeAEU00nYbituan'); var checkoutButton = document.getElementById('checkout-button-price_1Mqd9rJqupZfn5IUZjLwNj1P'); checkoutButton.addEventListener('click', function() { stripe.redirectToCheckout({ lineItems: [{ price: 'price_1Mqd9rJqupZfn5IUZjLwNj1P', quantity: 1 }], mode: 'payment', successUrl: window.location.protocol + ‘//domain/success', cancelUrl: window.location.protocol + ‘//domain/canceled', }) .then(function(result) { if (result.error) { var displayError = document.getElementById('error-message'); displayError.textContent = result.error.message; } }); });
試してみたこと
・successページでvar_dump($_POST) の中をみたけどなんも入っていなかた
・ajaxみたいにdataでセットしたら良いのかとjs のコードでdataを入れてみたけど動作しなかった
checkoutButton.addEventListener('click', function() { stripe.redirectToCheckout({ lineItems: [{ price: 'price_1Mqd6aJqupZfn5IUzqkaqTX7', quantity: 1 }], mode: 'payment', successUrl: window.location.protocol + ‘//domain/success', cancelUrl: window.location.protocol + ‘//domain/canceled', data: { id:"checkout-button-price_1Mqd6aJqupZfn5IUzqkaqTX7", }, }) .then(function(result) { if (result.error) { var displayError = document.getElementById('error-message'); displayError.textContent = result.error.message; } }); });
なにかアドバイスいただけると嬉しいです( ; ; )
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
- トピック「APIからのコールバック処理について」には新たに返信することはできません。