11.2 对接注意事项

优质
小牛编辑
125浏览
2023-12-01

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

1. 服务器端签名

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

1、 客户端易被破解,appSecret有外泄的风险,危害严重!

2、 如果用户的手机端时钟不准,或者不在北京时区,会导致时间验证过期,无法访问。 因此签名地址务必在服务器端生成。如不按要求,由此导致的损失,变现猫概不负责!

2. 自动登录地址生成

变现猫自动登录采用MD5签名,该地址5分钟失效,客户端5分钟内使用后用户才可登录。

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

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

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

3. 重复通知处理

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

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

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

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

5. 扣余额超时处理

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

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

6. 签名失败的问题排查

1、 是否为编码异常导致。变现猫的请求部分参数会带有中文字符,需要先对请求做URLDecode解码,可以在签名时遍历签名参数排查是否有字符乱码。

2、 如果是自动登录URL,查看redirect参数的值有没有做URLEncode。

3、 签名的原串是否有异常,比如是否含有别的参数,或者含有+号之类的异常字符。(正常的URLEncode时,空格会被编码为+,但在某些编程语言的编码库中,+不会被解码为空格,比如.net)

如果开发者在接口上配置了自定义参数的,这些自定义参数不加入签名。