Как поменять планы и создать счет без немедленной оплаты с помощью Laravel Cashier

1

Laravel Cashier упрощает обмен планами:

$user->subscription('premium')
     ->swapAndInvoice();

Эта функция также отличная, потому что она сразу же выставляет счет пользователю, ОДНАКО, она также заставляет пользователя платить сразу, а не ждать часа, как обычно. Это, кажется, чтобы получить в пути моего invoice.created webhook потому, что когда - то swapAndInvoice происходит, я, кажется, не быть в состоянии внести дополнительные изменения в счет - фактуру.

Если я просто использую ->swap(), он вообще не создает счет-фактуру, а просто создает позиции, ожидающие добавления в следующий счет-фактуру. Мысли приветствуются.

Теги:
laravel-5
stripe-payments
laravel-4
laravel-cashier

1 ответ

0

Начиная с публикации этого вопроса, я фактически отправил запрос на перенос в репозиторий Laravel StripeGateway.php для добавления метода в файл StripeGateway.php который может выполнять такие функции.

/**
 * Invoice the billable entity outside of regular billing cycle without charging the user immediately.
 *
 * @return bool
 */
public function invoiceWithoutImmediateCharge()
{
    try
    {
        $customer = $this->getStripeCustomer();

        // Removed this because it immediately charges the user which doesn't allow the invoice to be modified by webhooks
        //Stripe_Invoice::create(['customer' => $customer->id], $this->getStripeKey())->pay();
        Stripe_Invoice::create(['customer' => $customer->id], $this->getStripeKey());

        return true;
    }
    catch (\Stripe_InvalidRequestError $e)
    {
        return false;
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню