注意事项

开发者在服务端接口对接过程中,需要注意以下几个事项:

1. 服务器端签名

客户端生成签名地址,可能会导致以下问题:

  1. 客户端易被破解,appSecret有外泄的风险,危害严重!
  2. 如果用户的手机端时钟不准,或者不在北京时区,会导致时间验证过期,无法访问。 因此签名地址务必在服务器端生成如不按要求,由此导致的损失,兑吧概不负责!

2. 自动登录地址生成

兑吧自动登录采用MD5签名,该地址5分钟失效,客户端5分钟内使用后用户登录状态可持续24小时。

开发者服务器端需要通过一个重定向功能实现动态生成自动登录地址的功能。

如果开发者事先生成自动登录地址,将导致5分钟后用户访问该地址过期。

手机端如出现“请求已过期”的提示,请核对自动登录url的时间戳是否超时。

3. 重复通知处理

由于网络具有不稳定的特性,当兑吧向开发者服务器发送成功/失败通知时,有可能存在兑吧发送了通知,,开发者收到了通知并进行了处理。然后出现网络故障,兑吧没有收到开发者的响应。兑吧认为开发者没有收到通知,于是进行重复通知。

此时开发者收到通知后,务必先确认此订单是否已经处理过。如果已经处理过,则忽略此通知,并响应ok。如果此时开发者忽略订单是否已经被处理过,而直接进行处理,将导致开发者反复向用户返还积分,导致损失!

4. 签名验证必须遍历所有参数

开发者在验证兑吧发起的请求时,需要遍历请求中的所有参数,然后再进行签名验证。不能写死几个参数来进行验证。因为后续兑吧会根据业务需求,添加新的参数。如果开发者写死了参数,将导致开发者的签名验证失败,从而使开发者的积分商城服务不可用!

5. 扣积分超时处理

兑吧向开发者发起扣积分请求时,兑吧设置超时时间为30秒,由于开发者服务器响应过慢,或者网络异常等原因,可能会出现超时情况。

针对超时情况,兑吧将该订单标记为失败,并向开发者发出失败通知。 如果开发者已经扣积分成功了,当收到通知时,需要对用户积分进行回滚。 因为扣积分请求超时,兑吧并没有收到开发者的订单号,因此在发送失败通知时,不会携带bizId数据。 开发者在接受兑吧通知时,请以兑吧订单号orderNum进行处理,而不要根据bizId进行处理!

6. 签名失败的问题排查

  1. 是否为编码异常导致。兑吧的请求部分参数会带有中文字符,需要先对请求做URLDecode解码,可以在签名时遍历签名参数排查是否有字符乱码。
  2. 如果是自动登录url,查看redirect参数的值有没有做URLEncode。
  3. 签名的原串是否有异常,比如是否含有别的参数,或者含有+号之类的异常字符。(正常的URLEncode时,空格会被编码为+,但在某些编程语言的编码库中,+不会被解码为空格,比如.net)
  4. 如果开发者在接口上配置了自定义参数的,这些自定义参数不加入签名。

results matching ""

    No results matching ""