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

对接支付机构API成功后无法读取返回结果,报HTTPResponse不可下标错误

问题解决方法

错误原因

你调用iyzipay.Payment().create()返回的payment是原生HTTPResponse对象,不支持字典式的下标访问。你打印的payment.read().decode('utf-8')是JSON格式的字符串,必须解析为Python字典后才能读取status等字段。另外需要注意:HTTPResponse的read()方法只能调用一次,读取后响应流就会被清空,重复调用会返回空内容。

修复方案

  1. 首先在代码文件头部导入JSON解析模块(如果尚未导入):
import json
  1. 修改响应处理逻辑,先将响应内容读取存为变量再解析为字典,替换原有最后3行代码即可:
payment = iyzipay.Payment().create(request_payload, options)
# 仅调用一次read()读取完整响应内容
resp_content = payment.read().decode('utf-8')
print(resp_content)
# 解析JSON字符串为Python字典
resp_data = json.loads(resp_content)
return HttpResponse(resp_data["status"])

后续如果需要获取返回结果的其他字段,直接从resp_data字典中读取即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:45:06