Я работаю над платформой, предлагающей услуги. При создании новой подписки создается новая транзакция для первого биллинга. Как я могу получить доступ к идентификатору транзакции?
У меня есть форма с Drop-in UI от Braintree, и мой бэкэнд в настоящее время выглядит так:
if (!auth()->user()->subscribed('main')) {
$subscription = auth()->user()->newSubscription('main', 'membership-monthly')->create($request->payment_method_nonce, []);
dd($subscription);
}
Это успешно создает новую подписку!
Теперь я хочу получить доступ к идентификатору первой платежной транзакции этой подписки. Как я могу этого добиться?
Это не тот идентификатор, который мне нужен. Это идентификатор подписки в моей локальной базе данных. Мне нужен другой идентификатор транзакции.
Вы нашли решение?
В настоящее время я использую stripe_id, который возвращается create (), и его можно использовать для поиска на панели управления полосами, чего достаточно, поскольку он функционирует как ссылка для записи в системе полос
Если у вас есть связь между подпиской и транзакциями, вам нужен доступ, поэтому:
foreach($subscription->transactions() as $transaction){
//here you access yo transactions id
dd($transaction);
}
Я надеюсь, что смогу помочь тебе
К сожалению, метода transaction () нет. Попытка транзакции $ subscription-> также возвращает пустой массив.
Возможно, вам следует указать второй параметр для создания функции, попробуй это:
if (!auth()->user()->subscribed('main')) {
$payload = array();
$subscription = auth()
->user()
->newSubscription('main', 'membership-monthly')
->create($request->payment_method_nonce, $payload);
dd($subscription);
dd($payload);
}
Из Laravel Cashier документация схема базы данных выглядит так:
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
как насчет $ subscription-> id ??