对于我的应用程序(前端使用 Angular,后端使用 NodeJS),我想提供几种订阅模型。我用 Stripe 支付。当我最初订阅时,一切都很好。
到目前为止一切顺利。但如果用户现在想要更改他们的订阅,该过程会让我感到困惑。我是这样实现的:
const updatedSubscription = await stripe.subscriptions.update(subscription, {
items: [{
id: subscription.items.data[0].id,
price: newProductId,
}],
proration_behavior: 'always_invoice',
});
一切似乎都很顺利。但为什么没有必要创建一个新的结帐以便用户确认其付款方式(卡、PayPal...)上的新价格?如果不需要的话,有可能欺骗用户,收取1000欧元?!
一旦您收集了客户付款信息,虽然这只是从 Stripe API 获取的 Stripe Id,但您对使用保存的卡进行的任何交易负责。这称为会话外交易,在支付行业很流行。 Stripe 有 有关已保存付款详细信息的指南部分(查找“合规性”段落)
现在按新价格向客户收费类似于使用他们保存的卡发起任何交易。从技术上讲,这不是“骗局”,而是“做你和客户之前同意你能做的事情”。在第 2 步中,当您向客户展示新价格时,请确保已征得他们的同意。如果他们有争议并且您需要向其发卡银行提供证据,这可能会在以后有所帮助。在此处了解有关争议的更多信息。