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

Django模板中Stripe返回的receipt_url点击跳转当前页如何解决

解决方法
  • 核心原因:receipt_url不是Stripe PaymentIntent对象的根级字段,它存储在PaymentIntent关联的Charge对象下,你直接读取根级的receipt_url会拿到空值,空href的a标签点击后就会跳转当前页面。

1. 修改视图层Stripe调用代码

Stripe API默认不返回嵌套对象的完整属性,需要添加expand参数主动拉取关联的最新Charge对象信息:

# 新增expand参数拉取latest_charge完整字段
transID = stripe.PaymentIntent.retrieve(
    session.payment_intent,
    expand=['latest_charge']
)

context = {
    'customer': customer,
    'transID': transID,
}

2. 修改模板层链接取值路径

将a标签的href取值改为从latest_charge下读取,同时加非空判断避免支付未完成时出现空链接:

<div class="status-message">
    {{ transID.receipt_email }}<br/>
    {% if transID.latest_charge.receipt_url %}
    <a href="{{ transID.latest_charge.receipt_url }}" target="_blank">Find your Receipt here:</a>
    {% endif %}
</div>
  • 验证方法:可在视图层临时打印transID.latest_charge.receipt_url,确认返回的是完整的Stripe收据链接即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 02:06:09