У меня вопрос по поводу подписок Stripe. У меня есть подписка с планом, где клиент получает ежемесячные счета. Этот объект подписки имеет свойство current_period_end, которое показывает нам время, когда заканчивается наш ежемесячный платежный цикл.
В настоящее время я пишу веб-крючок, который срабатывает после успешного платежа. Мне было интересно, нужно ли мне вручную редактировать свойство current_property_end этой подписки в конечной точке веб-перехвата в моем приложении или Stripe обновляет эту подписку автоматически?
Это конечная точка webhook на сервере моего веб-приложения, которая обрабатывает успешный платеж. У меня есть документ mongodb, где я хочу обновить свойство billing.current_period_end. Прямо сейчас это показывает конец предыдущего платежного цикла Stripe, но, поскольку у меня был успешный платеж, я хочу изменить его. Для этого я использую для этого subscription.current_period_end, но я не уверен, что Srtripe автоматически обновило свойство current_period_end полосовой надписи автоматически после успешного платежа или это нужно сделать вручную?
const paymentSuccessful = async (req, res) => {
try {
// get the Stripe customer
const customer = await stripe.customers.retrieve('cus_EOfhqjsUvzUkiJ');
// get the subscription of the customer
const subscription = await stripe.customers.retrieve(customer.subscriptions.data[0].id);
// add it to the billing.failed_payments property of the workspace
const workspace = await Workspace.findOneAndUpdate(
{ _id: customer.metadata.workspace_id },
{
$addToSet: {
'billing.success_payments': req.body
},
$set: {
'billing.current_period_end': subscription.current_period_end
}
}, {
new: true
}
).lean();
// send mail to user (still to be added)
res.status(200).json({
message: 'Success'
});
} catch (err) {
return sendErr(res, err);
}
};
пример рабочей области mongodb doc
![enter image description here](https://i.stack.imgur.com/KrdZD.png)