【发布时间】:2018-07-26 11:05:04
【问题描述】:
我正在使用 Laravel Cashier 和 Stripe 开发 Web 应用程序的订阅。
我正在使用 Stripe v3 JavaScript API 并使用卡片元素来生成 Stripe 令牌。正在生成 Stripe 令牌,如果您查看 Stripe 仪表板,则会创建一个客户。此外,一个条带 ID 被保存在用户数据库中。但是,当我尝试使用以下代码为用户订阅计划时:
$user->newSubscription($planId, $planId)->create($stripeToken, [
'email' => $user->email
]);
失败并显示错误:“没有这样的客户:cus_xxxxxx”。 $planId 变量是 Stripe 中计划的 ID。
就像我说的那样,条带令牌正在正确生成,客户是在条带仪表板中创建的,条带 ID 正在数据库中设置。我已经深入研究了 Laravel Cashier 代码,当它尝试更新卡信息时似乎出现了错误。更具体地说,它在这个功能上失败了:
public function asStripeCustomer()
可在计费模型中找到。
我联系了 Stripe 支持,他们说在创建初始客户后不会再向他们的 API 发出请求。
我的 laravel 版本是 5.5.34,我使用的是最新的 Cashier 版本。我已经尝试重新安装 Cashier,但它仍然无法正常工作。我还刷新了缓存。
非常感谢任何帮助。
【问题讨论】:
标签: php laravel laravel-5 stripe-payments laravel-cashier