簡體   English   中英

使用Stripe時handleCardPayment錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM