Я хочу переопределить SubscriptionBuilder::buildPayload()
кассира. Что выглядит так:
protected function buildPayload()
{
return array_filter([
'billing_cycle_anchor' => $this->billingCycleAnchor,
'coupon' => $this->coupon,
'expand' => ['latest_invoice.payment_intent'],
'metadata' => $this->metadata,
'plan' => $this->plan,
'quantity' => $this->quantity,
'tax_percent' => $this->getTaxPercentageForPayload(),
'trial_end' => $this->getTrialEndForPayload(),
'off_session' => true,
]);
}
Я хочу добавить к этому 1 параметр, который равен 'collection_method': 'invoice'
Поэтому я пытаюсь переопределить эту функцию, чтобы изменить ее.
Я попробовал несколько вещей, а именно следующие ответы:
Стратегия переопределения класса в библиотеке установлен с Composer
Laravel 5.7 Переопределить класс поставщика и расширить старый
Я добавил свой CustomSubscriptionBuilder
в App\SparkOverrides\
<?php
namespace Laravel\Cashier;
class CustomSubscriptionBuilder extends SubscriptionBuilder
{
protected function buildPayload()
{
dd('here');
}
}
Затем в composer.json
я добавил:
"autoload": {
...
"files": [
"app/SparkOverrides/CustomSubscriptionBuilder.php"
]
},
Затем я запустил composer dump-autoload
. Но затем, когда я пытаюсь создать подписку, dd()
никогда не попадает. Чтобы сделать ситуацию еще более запутанной, я добавил дамп и штамп к vendor
buildPayload()
, и это тоже не срабатывает.
Я чувствую, что я близок, но чего-то не хватает. Спасибо за любую помощь.
Billable
@newSubscription
- person lagbox   schedule 09.11.2019