接入指引
请求HOST
请求结构
通信协议
仅支持 TLS 1.2 or TLS 1.1, SSLv3 and TLS 1.0 不被支持
商户系统与 BetcatPay 系统通信,使用签名验证来确保通信信息完整及通信安全,见(签 名机制)。
字符编码
参数格式
Content-Type: application/json;charset=utf-8
返回参数
字段 | 名称 | 说明 |
---|---|---|
code | 状态码 | http状态码,此字段值只表明接口请求情况,不能说明业务参数无异常 |
msg | 状态描述 | 接口调用结果描述 |
error | 错误信息 | 异常信息 |
data | 业务返回值 | 描述业务调用情况的返回值,具体请参照业务接口中每个接口的data值 |
通知机制
同步回调
同步回调采用get方式跳转,相应的拼接参数,会对每个参数的值进行编码为UTF-8的URLencode处理,随后进行跳转。
异步回调
商户服务器接到请求后必须http响应200,并且打印输出success或者ok。如果商户反馈给 BetcatPay 的字符不是success这7个字符或者ok这2个字符,BetcatPay 服务器会不断重发通知,直到超过24小时47分钟。一般情 况下,25小时以内完成9次重发通知(通知的间隔频率一般是:30s,2m,4m,10m,30m,1h,2h,6h,15h)。
某些情况下,商户的一笔订单可能会收到 BetcatPay 的多次通知,商户需对自己的逻辑进行检查,对于可能收到重复的成功或失败状态的订单通知能够进行唯一的业务处理。
签名机制
在拼接字符串时,会过滤掉key或value为空的字符串的参数,此类参数不参与签名前的字符串拼接。
在请求参数与返回参数的签名中,出现extra字段时,签名时需要将extra的值转换为Map 集合,按照key的Unicode进行排序。然后将Map中参数以key1=value1&key2=value2&key3=value3
的形式拼接为新的字符串作为extra的值。
若其它参数值为对象,会将其转换为JSON字符串后再参与加密。
注意:业务字段并非固定不变,所有业务字段均参与签名,建议动态处理,以应对可能的字段增减。
签名工具参考
PHP_SignUtil
Nodejs_SignUtil
修改于 2024-03-15 10:24:09