Я следовал за Laravel docs, чтобы реализовать Кассир, но я не могу заставить его работать.Laravel 5.3, Cashier - Braintree - Single Charges
Короче:
- сделанных и мигрировали миграции
- добавил оплачиваемый мою
User.php
модели - добавлены ключей к моим
.env
, называют их в моемconfig/services.php
и добавил SDK звонков на мойAppServiceProvider.php
При необходимости я могу вставить код, но это то же самое (я проверил, но вы никогда не знаете), как в документах.
Теперь, если я пытаюсь запустить
$user = User::find(2);
$response = $user->charge(15);
dd($response);
в мой контроллер я получаю ошибку:
InvalidArgumentException in CustomerGateway.php line 567:
expected customer id to be set
---
in CustomerGateway.php line 567
at CustomerGateway->_validateId(null) in CustomerGateway.php line 198
at CustomerGateway->find(null) in Customer.php line 106
at Customer::find(null) in Billable.php line 440
at User->asBraintreeCustomer() in Billable.php line 29
at User->charge('15') in MyController.php line 787
мне кажется, что ошибка здесь:
at Customer::find(null) in Billable.php line 440
который дает null
для CustomerGateway
. Так вот код, который вызывается в строке 29 из Billable.php
$customer = $this->asBraintreeCustomer();
public function asBraintreeCustomer()
{
return BraintreeCustomer::find($this->braintree_id);
}
Спасибо!
UPDATE
dd($this)
Я сделал в asBraintreeCustomer()
метод и получил пользователь. Но атрибут braintree_id
- null
. Как их заполнить? Должен ли я сделать это вручную?
Благодарим вас за ответ. Я перешел от этого, но мне нужно будет вернуться к моему коду, чтобы увидеть, как я исправил это, как это было какое-то время назад. – dbr