【问题标题】:How fix No such payment_method error with stripe-php如何使用 stripe-php 修复 No such payment_method 错误
【发布时间】:2020-02-05 10:44:16
【问题描述】:

我在我的laravel 5.8 应用程序中的两个地方使用stripe/stripe-ph": "^7.2" 和测试密钥:

  1. 快速付款,一切正常
  2. 我开始制作 使用类似代码在其他页面订阅并进行订阅 我收到了错误:

没有这样的支付方式:tok_1FRCLkI5xQuRgDRPpX22Y64B。

在网络中搜索我发现此错误的可能原因是使用了无效密钥,但检查它我看到有效密钥 我想知道 1 页如何正常工作,第二页失败,但它们似乎相同:

快速付款的有效页面有代码:

<div class="row row_content_centered p-3 m-3" style="justify-self: flex-start;">
    <form action="http://local-votes.com/stripe_express_payment_callback" method="GET">
        <script src="https://checkout.stripe.com/checkout.js"
                class="stripe-button active"
                data-key="pk_test_NNNNNNNN"
                data-amount="260"
                data-name="Select &amp; Vote"
                data-description=" selected 2 services"
                data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
                data-locale="auto"
                data-currency="usd"
        >
        </script>
        <button type="submit" class="stripe-button-el" style="visibility: visible;"><span style="display: block; min-height: 30px;">Pay with Card</span>
        </button>
    </form>
    <button type="button" class="btn btn-inverse" onclick="javascript:document.location='http://local-votes.com/home'" style="margin-right:50px;"><span
            class="btn-label"><i class="fa fa-arrows-alt"></i></span> &nbsp;Cancel
    </button>&nbsp;&nbsp;

</div>

订阅无效的页面有代码:

<form action="/subscribe_process" method="post">
    <input type="hidden" name="_token" value="mjnmminrSADnv2Rpl5jTzPzyGl9mcqvMQGBlrLfy">
    <script
            src="https://checkout.stripe.com/checkout.js"
            class="stripe-button"
            data-key="pk_test_NNNNNNNN"
            data-amount="987"
            data-name="Select &amp; Vote"
            data-description="Online course about integrating Stripe"
            data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
            data-locale="auto"
            data-currency="usd">
    </script>

我的私钥不是tok_1FRCLkI5xQuRgDRPpX22Y64B 错误。 有什么提示吗?是否有调试错误的方法?

谢谢!

【问题讨论】:

  • 这种类型的错误通常是由于不小心使用了不同帐户的 API 密钥造成的。尝试与邮递员核实。这样您就可以确保您使用的是正确的密钥。
  • 尝试与 Postman 核实。通过这种方式,您可以确保使用正确的密钥。 api.stripe.com/v1/tokens/tok_1FRCLkI5xQuRgDRPpX22Y64B。还通过标题: Authorization:Bearer sk_test_XXXXXXX Content-Type:application/x-www-form-urlencoded
  • 我认为您遇到了这个问题stackoverflow.com/questions/57501889/…

标签: php laravel laravel-5 stripe-payments


【解决方案1】:

我使用的是 stripe connect,并正在 Connect 帐户上创建付款资料。然后在检索时我没有正确传递条带帐户。一旦我这样做了,付款方式就被正确检索了。这是我使用的代码。可能会帮助某人

//retrieve account
    $stripe = new \Stripe\StripeClient({platform api key});
    $payment_method = $stripe->paymentMethods->retrieve(
      {payment method id from payment_intent},
      [],
      ['stripe_account' => {stripe connect account id}]
    );

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多