#stripe-payments
Вопрос:
Я создаю клиента Stripe и подписку с 7-дневной пробной версией:
const stripeCustomer = await stripe.customers.create({
email: req.body.email
});
await stripe.subscriptions.create({
customer: stripeCustomer.id,
items: [{
price: process.env['STRIPE_PRICE_ID']
}],
trial_period_days: 7
})
Когда я проверяю статус, он отображается как trialing
. После окончания пробной версии, если я получу подписку, она получит статус active
. Но это неверно, потому что клиент еще не заплатил за подписку.
Мне нужен статус, который говорит мне, что пробная версия закончилась, но клиент еще не заплатил, чтобы я мог направить клиента на портал Stripe, когда он войдет в систему. Я знаю, что есть веб-крючок, который я могу прослушать, но я бы предпочел не беспокоиться об этом в тот самый момент, когда закончится испытание. Вместо этого я хочу разобраться с этим, когда клиент войдет в следующий раз.
Ответ №1:
Вы хотели бы начать свою подписку с payment_behavior
'default_incomplete'
: https://stripe.com/docs/api/subscriptions/create#create_subscription-payment_behavior
Таким образом, статус подписки будет incomplete
сохранен после окончания пробной версии, только active
после того, как будет оплачен первый счет.
Комментарии:
1. Я тоже это пробовал: ` ожидание полосы.подписки.создание({ клиент: stripeCustomer.id, товары: [{ цена: process.env[‘STRIPE_PRICE_ID’] }], payment_behavior: ‘default_incomplete’, trial_period_days: 7 }) « Но когда испытание заканчивается, оно переходит к
active
2. Вы прикрепили метод оплаты после создания подписки, но до окончания пробной версии? Подписка должна находиться в
incomplete
состоянии примерно в течение часа, пока счет-фактура создается и завершается, прежде чем автоматически оплачиваться и переходить наactive
. Если это не то, что вы видите, вам следует обратиться в службу поддержки Stripe, чтобы они могли продолжить расследование: support.stripe.com/contact