You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Stripe API获取非Stripe支付发票的Receipt URL?

解决方案:获取Stripe线下支付发票的收据PDF链接

当发票通过Stripe以外渠道完成支付时,Invoice对象的charge_id会为空,无法通过Charge对象获取收据URL,但可以通过以下两种方式通过API获取收据:

方式1:直接生成PDF临时URL

Stripe提供了专门的API端点用于生成已支付发票的PDF文件,返回的URL为临时链接(有效期约24小时),可直接下载或转发给用户。

替换原代码的else部分:

else:
    # 针对线下支付的发票,生成PDF收据临时URL
    try:
        # 调用Stripe API生成发票PDF
        pdf_result = stripe.Invoice.create_pdf(invoice.id)
        # 提取PDF链接
        receipt_pdf_url = pdf_result.url
        print(receipt_pdf_url)
    except stripe.error.StripeError as e:
        print(f"生成PDF失败:{e.user_message}")

方式2:获取托管发票页面链接

如果需要让用户自行查看并下载收据,可以使用Invoice对象自带的hosted_invoice_url属性,该链接为永久有效,用户打开页面后可直接下载PDF收据。

代码示例:

else:
    # 获取托管发票页面链接
    hosted_receipt_url = invoice.get('hosted_invoice_url')
    if hosted_receipt_url:
        print(hosted_receipt_url)

注意事项

  • 仅当发票状态为paid时,才能成功生成PDF或访问托管页面
  • 临时PDF URL有效期为24小时,若需长期保存建议下载文件后自行存储
  • 使用API时需确保你的Stripe密钥拥有足够权限(至少包含invoices:read权限)

内容的提问来源于stack exchange,提问作者Daniel Marcus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 00:30:00