2023/09/17(至今3天没人解决) 当面付 统一收单线下交易预创建接口 官方php easysdk验签语法错误-ag九游会j9官方网站

ag九游会j9官方网站-j9九游会登录入口首页新版
3
2023/09/17(至今3天没人解决) 当面付 统一收单线下交易预创建接口 官方php easysdk验签语法错误
4天前
244 浏览
问题模块:能力相关
希望看到问题的技术或者客服能在看完问题描述内容的前提下再做回复。

如题,接口文档异常参数返回缺少必要参数


实际接口返回


bug复现方式:

使用官方仓库sdk仓库说明文档内的快速开始,配置项传入错误的appid进行预下单,然后sdk自动对接口返回内容进行验签的时候就会报错 undefined array key "sign" 。




使用的是 php 版 最新sdk



官方sdk仓库文件地址:
文件路径:php/src/kernel/easysdkkernel.php 第231行

接口返回的数据sign参数缺失,导致sdk 验签报错
实际的错误应该是上图$resp内的sub_msg 提示的 无效的appid参数
sdk 内 数组取不存在的下标sign报错语法错误,最终抛出的错误异常信息是 : undefined array key "sign" 此错误信息对错误排查没有任何帮助。
而且sdk内也没有提供获取原始返回数据的方式,无法获取实际的错误信息,线上问题目前只能通过改动sdk代码打log记录接口返回报文的方式逐步排查,影响较大。


avatarname
后发表内容
3个回答
蹲个大佬解答
要么是接口返回加上sign参数,要么改sdk,给出获取接口原始返回的方法,并且把上图里直接取下标的语法错误改了。
取sign前是不是应该判断一下,如果请求没有sign就不取,代表请求失败
是skd里面验签的业务代码没有处理导致sdk报语法错误,要是自己判断报文就肯定会先判断sign,但是现在的问题是sdk没提供方法获取原始报文自己进行验签。等官方回复了
是不是版本问题
问题详细描述里有放官方仓库的文件地址链接和截图
您好,就这个接口没有返回sign吗,还是所有的接口都么有呢?如果sdk有问题的话,那会导致大部分的开发者使用都有问题,不妨翻一翻看sdk的源码,看里面是怎么写的
我已经看了sdk源码,问题描述里面也代码位置的详细截图。
目前就是预下单接口的appid参数传错的情况下,接口返回缺少sign参数。
问题描述里面截图就是sdk的,在验签的时候没有针对sign参数不存在的情况做错误处理,也没有返回原始报文的地方。
网站地图