Создание расписания подписки с помощью Stripe
Расписания подписки в Stripe позволяют компаниям настраивать индивидуальные планы выставления счетов для своих клиентов. С помощью графиков подписки вы можете определить частоту, продолжительность и стоимость регулярных платежей, обеспечивая большую гибкость и контроль над вашей бизнес-моделью на основе подписки. В этой статье мы рассмотрим несколько методов создания расписания подписки с помощью Stripe API, а также примеры кода.
Метод 1: использование Stripe Billing API
import stripe
stripe.api_key = 'YOUR_STRIPE_SECRET_KEY'
def create_subscription_schedule(plan_id, start_date, interval, interval_count):
schedule = stripe.SubscriptionSchedule.create(
customer='CUSTOMER_ID',
start_date=start_date,
end_behavior='cancel',
phases=[{
'plans': [{
'price': plan_id,
'quantity': 1,
}],
'iterations': interval_count,
'interval': interval,
}],
)
return schedule.id
# Example usage
plan_id = 'YOUR_PLAN_ID'
start_date = 1645545600 # UNIX timestamp for the start date (e.g., February 23, 2022)
interval = 'month'
interval_count = 3
schedule_id = create_subscription_schedule(plan_id, start_date, interval, interval_count)
print(f'Subscription schedule created with ID: {schedule_id}')
Метод 2. Использование интерфейса командной строки Stripe
- Установите интерфейс командной строки Stripe, следуя инструкциям в документации Stripe.
- Откройте интерфейс командной строки и выполните аутентификацию с помощью своей учетной записи Stripe:
stripe login - Используйте команду
create, чтобы создать расписание подписки:stripe subscription-schedules create \ --customer CUSTOMER_ID \ --start-date 2022-02-23 \ --phases plans[0].price=YOUR_PLAN_ID,iterations=3,interval=month \ --end-behavior cancel
Метод 3. Использование Stripe SDK (например, Node.js)
const stripe = require('stripe')('YOUR_STRIPE_SECRET_KEY');
async function createSubscriptionSchedule(planId, startDate, interval, intervalCount) {
const schedule = await stripe.subscriptionSchedules.create({
customer: 'CUSTOMER_ID',
start_date: startDate,
end_behavior: 'cancel',
phases: [{
plans: [{
price: planId,
quantity: 1,
}],
iterations: intervalCount,
interval,
}],
});
return schedule.id;
}
// Example usage
const planId = 'YOUR_PLAN_ID';
const startDate = Math.floor(new Date('2022-02-23').getTime() / 1000);
const interval = 'month';
const intervalCount = 3;
createSubscriptionSchedule(planId, startDate, interval, intervalCount)
.then(scheduleId => console.log(`Subscription schedule created with ID: ${scheduleId}`));