如何解决如何使用带有“withMetaData”和“create”的laravel收银员费用
我是 laravel cashier
的新手,我被困在这里。
对于我的游戏,用户可以订阅。我有 3 种订阅方式。
- 每月
- 每年
- 一次性。
对于每月和每年订阅,我使用了以下代码并且它运行良好。
$subscription = $user->newSubscription($subscriptionName,$plan->stripe_id)->withMetaData(['game' => $game->name])->create(null,[
'email' => $user->email,'name' => $user->name,['metadata' => ['game' => $game->name]],],$subscriptionOptions);
但是对于一次性订阅,我使用了以下代码
$subscription = $user->charge(2500,'pm_1IpuT.....')->withMetaData(['game' => $game->name])->create(null,$subscriptionOptions);
为此,我收到以下错误
Error
Call to undefined method Laravel\Cashier\Payment::withMetaData()
谁能帮忙解决这个问题?
解决方法
当他们提到 here 时,您在 metadata
方法中将 charge
作为第三 参数传递
$user->charge(100,$paymentMethod,[
'custom_option' => $value,]);
所以在你的例子中,你需要像这样编辑它
$subscription = $user->charge(2500,'pm_1IpuT.....',[
'metadata' => [
'game' => $game->name,'email' => $user->email,'name' => $user->name,]
]);
要通过检查条带的更多额外数据docs
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。