我的应用程序会自动为所有用户创建免费价格的 Stripe 订阅,但不收集付款详细信息。
当用户升级到付费计划时,我会按照https://docs.stripe.com/billing/subscriptions/upgrade-downgrade中的说明更新订阅,但由于客户没有付款信息,API 调用失败。
stripe_client.subscriptions.update(
subscription_id,
{
"expand": ["latest_invoice.payment_intent"],
"items": [
{
"id": subscription_item_id,
"price": price,
"quantity": quantity,
}
],
},
)
此客户没有附加付款来源或默认付款方式。请考虑添加默认付款方式。有关更多信息,请访问 https://stripe.com/docs/billing/subscriptions/payment-methods-setting#payment-method-priority。
我没有使用嵌入式页面,而是使用自定义流程。我应该如何在此流程中收集付款详情?我的目标是在用户尝试订阅付费计划时收集付款详情,然后向他们收取订阅费(通过升级他们的订阅)。
我知道我可以手动创建付款意向(或设置意向?),但如何将其与订阅关联?
如果您使用 SetupIntent 收集付款方式,那么您可以在更新订阅时将付款方式设置为默认付款方式 - https://docs.stripe.com/api/subscriptions/update#update_subscription-default_payment_method
此处的另一种选择是使用客户门户收集付款方式 - https://docs.stripe.com/billing/subscriptions/trials#use-the-customer-portal-to-collect-payment