Stripe - Ответ плана обновления / понижения в webhook - PullRequest
0 голосов
/ 01 октября 2018

Следующий код, который я использую для обновления плана пользователя:

$subscription = \Stripe\Subscription::all(array('customer'=>$customerId,'limit'=>10));

        $subscription_id = $subscription->data[0]->id;

        $subscription = \Stripe\Subscription::retrieve($subscription_id);
        $updatePlan = [
            'cancel_at_period_end' => false,
            'items' => [
                [
                    'id' => $subscription->items->data[0]->id,
                    'plan' => planPrefix.$packageId,
                ],
            ],
            'tax_percent' => $package_tax,
        ];

        \Stripe\Subscription::update($subscription_id, $updatePlan);

        //Create invoice now
        $invoice = \Stripe\Invoice::create([
            'customer' => $customerId,
        ]);

        $invoiceId = $invoice->id;
        //Pay invoice now
        $invoice = \Stripe\Invoice::retrieve($invoiceId);
        $invoice->pay();

И когда полоса получает оплату по вновь созданному счету, событие «invoice.payment_succeeded» запускается в моем веб-крюке, где я обновляюмоя база данных соответственно.

Проблема в том, что полоса отправляет мне предыдущий идентификатор плана с точным счетом.Например, если пользователь А подписывается на план с идентификатором 1, тогда полоса отправляет мне объект для новых подписанных сведений о плане на мой веб-крючок с точными данными, но когда пользователь А переходит на план с идентификатором 2, полоса отправляет мне данные с событием «счет-фактура»..payment_succeeded ", где я могу найти все данные, связанные с обновлением подписки, но проблема связана с идентификатором плана.Полоса с идентификатором плана отправляет мне старый файл, т. Е. 1 вместо 2, и когда пользователь А обновляется до плана с идентификатором 3, он отправляет мне план с идентификатором 2 в уведомлении веб-крюка.

Любая помощь в этом вопросе будетвысоко ценится.

...