# 使用必读
# 为实现与平台的支付接口顺利对接,请相关技术务必详细阅读
# (一) 接口约定
1.安全认证 调用方按照约定好的算法生成签名字符串,作为请求的一部分,接口提供方验算签名即可知是否合法 步骤通常如下: ①接口提供方即给出storeId和apiSecret ②调用方根据storeId和apiSecret以及请求参数,按照一定算法生成签名sign,具体算法参考下面签名算法 ③接口提供方验证签名 2.传输协议 HTTPS 3.超时时间 普通接口超时时间最长5秒,支付扣款接口建议最长超时时间60秒
# (二) 接口参数
1.接口参数格式
接口参数格式定义如下:
①请求参数格式application/json,如{"id":1,"name":"张三"}
②返回参数格式application/json,如{"id":1,"name":"张三"}
2.请求参数类型
2.1.公共参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
storeId | 是 | string | 来源ID |
apiSecret | 是 | string | 请求来源系统的密钥 对应来源的openSecret |
sign | 是 | string | API输入参数签名结果,签名算法介绍参照下面的介绍 |
timestamp | 是 | string | 时间戳,北京时间总毫秒数(13位时间戳) |
requestId | 是 | string | 请求ID,需要保证调用侧全局唯一 |
本系统允许客户端请求最大时间误差为5秒钟
2.2.业务参数 API调用除了必须包含公共参数外,如果API本身有业务级的参数也必须传入,每个API的业务级参数请参考下面接口列表说明
# (三) 签名算法
1.根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝
2.生成签名的步骤如下:
①将所有业务请求参数及公共参数(剔除sign以及所有类型为object和list的参数),按字母先后顺序排序
②将参数转换成JSON字符串得到字符串A,特别注意这里JSON字符串没有空格
③在字符串A的首尾加上apiSecret组成一个新字符串B
譬如:
1651199550993{"apiSecret":"1651199550993","orderNumber":"OS-202104011546255555","requestId":"02853534-fe52-418f-a61a-8a4e66b41295","storeId":"1296258251744940032","timestamp":"1641290728680"}1651199550993
④对字符串B进行md5,取32位小写,得到签名sign
# (四) 接口地址
- 注意:微信刷脸请使用微信测试来源ID和密钥,支付宝刷脸请使用支付宝测试来源ID和密钥
统一接口域名 https://openapi.zfkjgw.com
微信测试来源ID 1296258251744940032
微信测试来源apiSecret 1651199550993
支付宝测试来源ID 1353937331254300674
支付宝测试来源apiSecret 1694769359856
# (五) 支付流程图
微信刷脸代扣
# (六) 调用示例
平台 | 示例项目 | 参考类 |
---|---|---|
JAVA | 码云链接 (opens new window) | com.huishua.openapiexample.school.SchoolApiDemo |