对接过程常见问题和处理方法

请求签名验证工具

为了方便开发者签名验证解析,兑吧提供了链接请求解析签名验证工具,开发者可以通过工具页面验证请求链接的签名 签名工具类地址:http://wechat.duiba.com.cn/dbsign

常见问题类型

在开发者对接过程中,经常遇到的情况主要有如下两种情况

1.根据测试请求链接和兑吧提供的开发者服务端开发包,在本地进行开发和调试,但是总会出现签名验证失败

2.在本地调试都是正常的,浏览器测试也能正常响应,但是仿真请求,或者测试专用优惠券,总是失败,失败的主要提示是:(1:json解析失败;2网络请求出错。)

针对如上的情况,整理和总结了开发者在对接过程中遇到问题的常见原因和解决排查方法,方便开发者分析和解决具体问题。


1.常见扣积分接口签名失败的原因和处理方式

在接口开发的过程中,开发经常遇到的情况也是最为普遍的现象是签名验证失败。

主要帮助开发者排查的方法有如下方式;

1,开发者可以根据链接,循环打印出来请求链接中的参数,看是否有中文乱码的现象; 如果发现中文乱码,常见解决方式是,看下自己服务端开发平台是不是UTF-8编码的,自己有没有重复解码或者编码的情况。 提供如下测试连接和请求参数方便开发者自行测试 如下是一个测试连接,开发者可以自行在接口配置中生成(以下仅供参考测试)

http://yangyd.s1.natapp.cc/duiba/consume?uid=test001&orderNum=order-for-test-1477390592222&credits=500&params=null&paramsTest68=68&type=coupon&ip=192.168.1.100&sign=7ab14a1a8a0311f34e9199b2325b5654&timestamp=1477390592222&waitAudit=true&actualPrice=0&description=%E6%B5%8B%E8%AF%95%E4%B8%93%E7%94%A8%E4%BC%98%E6%83%A0%E5%88%B8&facePrice=0&appKey=3gyWdRiPKkaMiiH6V3RUFybsdeDZ&

本地解析请求参数时候,可以打印一下请求签名参数看下,是不是有中文乱码,正确形式如下

打印出签名参数列表如下
actualPrice=0,
ip=192.168.1.100,
orderNum=order-for-test-1477390592222,
description=测试专用优惠券,
waitAudit=true,
params=null,
type=coupon,
uid=test001,
paramsTest68=68,
credits=500,
facePrice=0,
appKey=3gyWdRiPKkaMiiH6V3RUFybsdeDZ,
appSecret=4DEz67Z1VmzWVxUy5mVUnZoS2d8v,
timestamp=1477390592222

根据签名规则拼接的签名前字符串: 03gyWdRiPKkaMiiH6V3RUFybsdeDZ4DEz67Z1VmzWVxUy5mVUnZoS2d8v500测试专用优惠券0192.168.1.100order-for-test-1477390592222null681477390592222coupontest001true

根据参数签名sign====7ab14a1a8a0311f34e9199b2325b5654


开发者另一个需要注意的是请求签名解析时候,不能写死签名参数,应该遍历所有请求参数签名,测试连接中是有一个测试请求参数的(比如:paramsTest68=68)该参数名称不固定,目的是防止开发者写死签名参数的;同样,如果开发者接口地址中增加了自定义的请求参数,在签名时候是需要移除掉的。


接口测试没有问题,但是请求响应或者测试优惠券的时候,总是出现网络请求出错、json解析失败、或者开发者订单号重复的情况

1.对于测试期间,兑换测试专用优惠券时候,出现的网络请求出错的失败,开发者可以看下,是不是自己配置的接口地址不是外网可以访问的,或者开发者响应的格式不是纯json格式响应的

2.对于php的开发者,经常遇到的情况是json解析失败,但是自己响应的格式也是按照文档响应的,不过根据开发者反应情况,给出如下建议:开发者可以查下,是不是响应的格式中含有隐含字符(可以通过chrome浏览器中请求一下,并通过审查元素查看一下是否有隐含字符);其次就是可能php响应信息中BOM头引起的json格式问题,同样会引起兑吧这边解析不通过.

3.开发者反馈,测试兑换提示开发者订单号重复的问题,也是比较常见的问题,其主要原因可能是开发者响应的开发者订单号在不同测试环境时候有重复或者有清除本地测试数据的情况,导致开发者响应回来的开发者订单号在兑吧这边已经有记录,这样就会导致开发者订单号重复响应。

results matching ""

    No results matching ""