当前位置: 首页 > 知识库问答 >
问题:

Laravel收银台条纹:没有这样的客户

孟文栋
2023-03-14

我正在使用Laravel出纳和Stripe开发一个web应用程序订阅。

我正在使用stripev3javascriptapi,并使用card元素生成stripetoken。正在生成条带标记,如果您查看条带仪表板,将创建一个客户。此外,正在用户数据库中保存条带id。但是,当我尝试使用以下代码向用户订阅计划时:

$user->newSubscription($planId, $planId)->create($stripeToken, [
            'email' => $user->email
]);

它失败了,错误是:“没有这样的客户:cus_xxxxxx”。$PlanId变量是Stripe中计划的ID。

正如我所说,条带令牌是正确生成的,客户是在条带仪表板中创建的,条带id是在数据库中设置的。我对Laravel出纳代码做了一些挖掘,当它试图更新卡信息时,似乎得到了错误。更具体地说,此功能失败:

public function asStripeCustomer()

这可以在计费模型中找到。

我联系了Stripe支持,他们说在创建初始客户后,不会再向他们的应用编程接口发出请求。

我的laravel版本是5.5.34,我使用的是最新的出纳版本。我试过重新安装收银员,但还是不行。我还刷新了我的缓存。

非常感谢您的帮助。

共有3个答案

姜乐家
2023-03-14

你的计划是条纹的吗?如果是这样你可以这样叫

    try {
        $user->newSubscription('myplan','myplan')
                ->create($stripeToken);
       }
    } catch (\Exception $e) {
        Session::flash('error_message', 'There has been an error processing your payment.');
        return redirect('/');
    }
盖向荣
2023-03-14

为了防止将来有人遇到这个问题,我设法把它修好了。

从本质上讲,问题归结为数据库设置。对我来说,我的数据库设置将所有内容都保存为小写。Stripe对其客户密钥区分大小写。在我将数据库更改为区分大小写后,它又开始工作了。

章学义
2023-03-14

这意味着用户的条带客户id(存储在stripe_id列中)的当前值无效。

所以,只要删除它,下次调用newSubcription()时,它将再次创建新客户。

此外,你可以通过这样做来处理这个问题:

try {
    $user->newSubscription($subscription, $plan)->create($request->stripeToken);
} catch (\Exception $e) {
    // No such customer. Invalid value in stripe_id. Clean it, for making the next request successfully
    $user->stripe_id = NULL;
    $user->save();
}   
 类似资料:
  • 我正在使用Laravel 7,我正在将stripe与出纳集成,我面临着这个问题 我正在使用自定义的签出表单Html代码是 js代码是 路线是 控制方法是 当我创建一个订阅它显示错误没有这样的付款方式,我是新的条纹请帮助我

  • 我对拉威尔的付款有问题。我需要结合收费和新的订阅作为一个,这样当有一个不完全的付款例外,我仍然可以得到条纹Webhook。 另一种方法是捕获异常并构建类似laravel的处理不完整异常的方法。 请让我知道你是如何处理这个问题的。谢啦

  • 我用一些数据创建了一个计划表。当我试图订阅这些计划时,Laravel收银员说:没有这样的计划。 我错过了什么 我还通过Stripe dashboard创建了一个计划,但没有任何更改。我如何克服这个问题? 这是我的密码: “计划”表包含以下字段: 和控制器代码是:

  • 根据Stripe文档,看起来您实际上可以将优惠券作为一个整体应用于客户,但也可以将优惠券应用于他们的订阅。我正在尝试在创建订阅后将优惠券应用于客户的订阅。我使用的是Laravel出纳4.2。 以下是我尝试过的: 以下是错误消息: 我可以对整个客户使用方法,但不是实际订阅。。。我很欣赏你的想法。 Stripe文档仅显示如何从subscription:discount对象中删除折扣。我在他们的文档中找

  • 我正在尝试通过React Native使用Stripe Connect直接付款。我包括我的节点。创建paymentIntent的js后端函数。以下是Stripe Docs I的指南: 正在创建PaymentIntent: 1:https://stripe.com/docs/payments/accept-a-payment?平台=反应-原生 Stripe Connect创建直接充电: 2: htt

  • 我使用的是React组件。js尝试并处理连接帐户的付款,并从每次付款中收取费用。我不确定我的客户和服务器之间的流程是否正确地选择了我的克隆客户和付款方式。当我的测试客户试图付款时,我得到“没有这样的付款意图:'pi_abc…zyx'”。我已确保在客户端和服务器上使用了正确的专用测试密钥。我的关联账户是快递账户。当我进入Stripe仪表板查看“连接”下的“客户”选项卡时,我看到的是: 每次我尝试付款