扣积分接口
常见问题
1.扣积分接口签名验证失败
在接口开发的过程中,开发经常遇到的情况也是最为普遍的现象是签名验证失败。 开发者排查签名问题流程如下:
- 检查验签的
app_key
和appsecrect
是否和请求一致; - 开发者可以根据链接,循环打印出来 GET 请求链接中的参数,看是否有中文乱码的现象;如果发现中文乱码,常见解决方式是,看下自己服务端开发平台是不是 UTF-8 编码的,自己有没有重复解码或者编码的情况;
- 依次检查签名参数,签名原串是否和 GET 请求一致;
开发者可按如下流程一一检查:
下面是一个扣积分 GET 请求示例(仅供参考测试)
http://integral.com/chengquan/consume?uid=4839203890302&order_no=J100011908271035&credits=500&exchange_type=coupon&ip=192.168.1.100&sign=7ab14a1a8a0311f34e9199b2325b5654×tamp=1557037740232&official_price=10000&actual_deduct=1000&exchange_desc=%e5%85%91%e6%8d%a2%e6%98%9f%e5%b7%b4%e5%85%8b%e5%88%b8%ef%bc%8c%e6%b6%88%e8%80%9710%e7%a7%af%e5%88%86%ef%bc%8c20%e5%85%83&app_key=18888888888&exchange_info=13888888888
本地解析请求参数时,可以查看请求签名相关参数,检查中文是否编码等问题,正确参数形式如下
签名参数列表如下
uid = 4839203890302,
order_no = J100011908271035,
credits = 500,
exchange_type = COUPON,
ip = 192.168.1.100,
sign = fd36e213f06b85fb15c8846132a77bec,
timestamp = 1557037740232,
official_price = 10000,
actual_deduct = 1000,
exchange_desc = %e5%85%91%e6%8d%a2%e6%98%9f%e5%b7%b4%e5%85%8b%e5%88%b8%ef%bc%8c%e6%b6%88%e8%80%9710%e7%a7%af%e5%88%86%ef%bc%8c20%e5%85%83,
app_key = 18888888888,
exchange_info = 13888888888
根据签名规则拼接的签名前字符串:
actual_deduct=1000&app_key=18888888888&app_secret=xxx&credits=500&exchange_info=13888888888&exchange_desc=%e5%85%91%e6%8d%a2%e6%98%9f%e5%b7%b4%e5%85%8b%e5%88%b8%ef%bc%8c%e6%b6%88%e8%80%9710%e7%a7%af%e5%88%86%ef%bc%8c20%e5%85%83&ip=192.168.1.100&official_price=10000&order_no=J100011908271035×tamp=x&uid=4839203890302
根据参数得到签名 sign = fd36e213f06b85fb15c8846132a77bec
2.出现积分不一致情况
在商城页面中展示的用户积分出现不一致的情况,例如商城首页展示的用户剩余积分与支付页面展示的用户剩余积分不一致,请检查开发者提供的扣积分接口是否正确地返回用户的积分信息,核实接口返回的积分数量是否是当时用户的实际积分。