У нас возникли проблемы с созданием сервиса webhook для оплаты с использованием «Mollie».Laravel - Carbon -> addmonth() дает случайные даты?
Вот код webhook
public function premiumPaymentCheck(Request $request)
{
$payment = Mollie::api()->payments()->get(Input::get('id'));
$metadata = $payment->metadata;
$user_id = $metadata->user_id;
if ($payment->isPaid()) {
$user = User::find($user_id);
$user->mollie_customerID = $metadata->customerId;
$user->premium = true;
$user->premium_type = "premium";
$user->subscribed = true;
$user->premium_expire_date = Carbon::now()->addMonth();
$user->save();
}
}
Все работает, за исключением premium_expire_date
. Из того, что я понимаю, он должен добавить 1 месяц со времени оплаты (время, когда платеж называет webhook, поэтому Carbon :: now()), но даты никогда не совпадают. Это всегда случайная дата, которая на самом деле не является иметь смысл.
Некоторые из дат верны, но большинство из них, кажется, полностью. Любая идея, что это может быть?
Как далеко? Являются ли они согласованными (т. Е. Выполняется несколько вызовов 'Carbon :: now() -> addMonth()' в быстрой последовательности, дают похожие или совершенно разные даты)? Каков тип столбца для поля 'premium_expire_date'? Что делает 'Carbon :: now()' output for you - эта часть точна? – ceejayoz
Нет, они все в течение одного месяца с нужной даты, но на самом деле нет рисунка – Nicolas
Вы действительно ответили на один из моих вопросов. Через CLI запустите 'php artisan tinker' и введите' Carbon \ Carbon :: now() -> addMonth(); 'Он дает вам то, что вы ожидаете? – ceejayoz