Следующий код, который я использую для обновления плана пользователя:
$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 в уведомлении веб-крюка.
Любая помощь в этом вопросе будетвысоко ценится.