我正在开发一个提供服务的平台。创建新订阅时,将为第一个账单创建一个新交易。如何访问交易ID?
我有一个带有Braintree的Drop-in UI的表单,我的后端当前看起来像这样:
if (!auth()->user()->subscribed('main')) {
$subscription = auth()->user()->newSubscription('main', 'membership-monthly')->create($request->payment_method_nonce, []);
dd($subscription);
}
这成功创建了一个新的订阅!
答案 0 :(得分:1)
可能您应该提供第二个参数来创建函数, 试试这个:
if (!auth()->user()->subscribed('main')) {
$payload = array();
$subscription = auth()
->user()
->newSubscription('main', 'membership-monthly')
->create($request->payment_method_nonce, $payload);
dd($subscription);
dd($payload);
}
答案 1 :(得分:0)
如果您在订阅和交易之间有联系,则需要访问:
foreach($subscription->transactions() as $transaction){
//here you access yo transactions id
dd($transaction);
}
我希望我能为您提供帮助
答案 2 :(得分:0)
在Laravel Cashier documentation中,数据库模式如下:
Schema::create('subscriptions', function ($table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->string('name');
$table->string('braintree_id');
$table->string('braintree_plan');
$table->integer('quantity');
$table->timestamp('trial_ends_at')->nullable();
$table->timestamp('ends_at')->nullable();
$table->timestamps();
});
我认为在您的情况下获得订阅类似于$subscription->braintree_id