📚
Stripeの従量課金WIP
ページ作成ができるサービス
1ページ目月額5000円
2ページ目以降は1ページごと月額1000円の
ユースケース
以下
新規でサブスクを登録する時
async createSubscription(data: {customerId: string, priceId: string, quantity: number}) {
try {
return await this.stripe.subscriptions.create({
customer: data.customerId,
items: [{
price: data.priceId,
quantity: data.quantity || 1
}]
})
} catch (error: any) {
throw createError({
statusCode: error.statusCode || 500,
statusMessage: error.message,
});
}
}
ページ数を変更する時
async updateSubscriptionQuantity(subscriptionId: string, quantity: number) {
try {
const subscription = await this.stripe.subscriptions.retrieve(subscriptionId);
const subscriptionItem = subscription.items.data[0];
await this.stripe.subscriptionItems.update(subscriptionItem.id, {
quantity: quantity,
proration_behavior: 'always_invoice', // 即時の日割り計算を有効化
});
return {
status: 'success',
message: 'Subscription quantity updated successfully'
};
} catch (error: any) {
throw createError({
statusCode: 400,
message: error.message || 'Failed to update subscription quantity'
});
}
}
一番シンプルに実装
Discussion