![](/img/trans.png)
[英]Stripe - PaymentIntents handleCardPayment() - how to catch JS errors?
[英]handleCardPayment Error When Using Stripe
我目前收到錯誤消息:
stripe.handleCardPayment意向密鑰的值無效:值應為$ {id} secret $ {secret}形式的客戶密鑰。 您指定了:pi_1FCNbuIxBpL3Mx4OJYi5hKML。
我首先從在Vue.js中完成的前端向在Laravel中完成的后端發出axios請求,這將創建付款意圖(即pi_1FCNbuIxBpL3Mx4OJYi5hKML)。
StripePackage::setApiKey('sk_test_xxxxxxxxxxx');
$intent = \Stripe\PaymentIntent::create([
'amount' => 1099,
'currency' => 'eur',
]);
return $intent;
我將此付款方式設置為等於全局定義的數據變量data_secret,該變量在提交付款的按鈕中為引用:
<button id='test' class='pay-with-stripe' @click='pay' type="button" style="margin-top:20px;" :data-secret="data_secret">Pay with card</button>
單擊此按鈕時,將調用pay方法,該方法依次使用條紋handleCardPaymentMethod:
var cardButton = document.getElementById("test");
var clientSecret = cardButton.dataset.secret;
this.stripe.handleCardPayment(
clientSecret, this.card, {
payment_method_data: {
billing_details: {name: 'Test Name'}
}
}
).
這會觸發前面提到的錯誤。
我一直在關注此文檔,但無法看到此問題: https : //stripe.com/docs/payments/payment-intents/web
Stripe.js的handleCardPayment
方法使用PaymentIntent的client_secret
字段[0](看起來像“ pi_123_secret_123”),而不是PaymentIntent的ID(即“ pi_123”)。
看來您的代碼正在設置PaymentIntent ID而不是前端上的client_secret。
[0] https://stripe.com/docs/api/payment_intents/object#payment_intent_object-client_secret
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.