我正在与 react node.js 进行条带集成
在没有试用的情况下创建订阅时,我没有任何问题,所有用例都非常简单。
但是,我正在尝试在不收集信用卡详细信息的情况下创建免费试用版,稍后当试用期到期时,我想收集信用卡详细信息
服务器端:创建没有付款方式的试用订阅:
const subscription = await stripe.subscriptions.create({
customer: customer.id,
items: [{ price: priceId }],
trial_end: expiredAt.unix(),
expand: ['latest_invoice.payment_intent'],
});
ClientSide:稍后当试用期结束时,我想收集信用卡详细信息(paymentMethod),检查是否由于失败或 3ds 需要用户操作,并通过更新客户的默认 payment_method 来更新订阅:
const updateCustomerDefaultPaymentMethod = await stripe.customers.update(
customerId,
{
invoice_settings: {
default_payment_method: req.body.paymentMethodId,
},
}
);
如何更新订阅以执行 paymentIntent 或向用户收费,并以与创建没有试用期的订阅时相同的状态“in_complete”返回给客户端相同的订阅对象?目前,在运行我的代码时,我不断收到 status='active',因为第一张发票的 status='paid' 价格为 '0$'。