如何通过Stripe API为现有订阅生成Payment Update Link
解决Stripe现有订阅付款更新链接的API创建方法
你需要的不是普通的Payment Link更新接口,而是以下两种针对性方案:
方案1:利用失败付款对应的Invoice获取付款链接
当订阅周期付款失败时,Stripe会自动生成对应Invoice。你可以通过API获取该Invoice的托管付款页面链接,用户打开后即可更新付款方式并完成付款:
- 调用
GET /v1/invoices,筛选出状态为open且关联目标订阅的Invoice - 从返回的Invoice对象中提取
hosted_invoice_url字段,这个链接就是用户用来更新付款方式并完成付款的入口
方案2:通过Customer Portal生成付款方式更新链接
如果需要让用户主动更新订阅的付款方式(无论是否存在失败付款),可以创建Customer Portal会话:
- 调用
POST /v1/billing_portal/sessions,请求参数需包含:customer:订阅所属的客户IDreturn_url:用户完成操作后跳转的地址flow_data:配置为指定订阅的付款方式更新,示例参数:{ "flow_data": { "type": "update_payment_method", "update_payment_method": { "subscription": "sub_xxx" } } }
- 从返回的会话对象中提取
url字段,这个链接就是用户进入Customer Portal更新指定订阅付款方式的入口
注意:使用Customer Portal前,需先在Stripe控制台配置允许「更新付款方式」的功能权限。
内容的提问来源于stack exchange,提问作者Shahidul Islam Pranto
相关产品推荐
相关产品推荐

