# 使用必读

#
为实现与平台的支付接口顺利对接,请相关技术务必详细阅读

# (一) 接口约定

1.安全认证 调用方按照约定好的算法生成签名字符串,作为请求的一部分,接口提供方验算签名即可知是否合法 步骤通常如下: ①接口提供方给出storeId和apiSecret ②调用方根据storeId和apiSecret以及请求参数,按照一定算法生成签名sign,具体算法参考下面签名算法 ③接口提供方验证签名 2.传输协议 HTTPS 3.接口前缀 ①支付相关接口使用文档中统一的接口前缀

# (二) 接口参数

1.接口参数格式 接口参数格式定义如下:  ①请求参数格式默认为 application/x-www-form-urlencoded,如 /api/?f=1&b=23&k=33&sign=signValue,注意部分接口的content-type不一样会单独在请求方式里注明; ②返回参数格式 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的业务级参数请参考下面接口列表说明

# (三) 签名算法

# 当content-type为 application/x-www-form-urlencoded 时候,算法如下

1.根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝 2.生成签名的步骤如下: ①将所有业务请求参数及公共参数(剔除sign),按字母先后顺序排序 ②参数名称和参数值链接成一个字符串A ③在字符串A的首尾加上apiSecret组成一个新字符串B 譬如:mQ8E4dLLm4wJneBgFydrMjRCMhn155YWapiSecretmQ8E4dLLm4wJneBgFydrMjRCMhn155YWorderNumberM202107141612003657requestId8a01cc47-0216-444e-ab27-0236524aa690storeId1239217264408580096timestamp1641290181322mQ8E4dLLm4wJneBgFydrMjRCMhn155YW ④对字符串B进行md5,取32位小写,得到签名sign

# 当content-type为 application/json 时候,算法如下

1.根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝 2.生成签名的步骤如下: ①将所有业务请求参数及公共参数(剔除sign以及所有类型为object和list的参数),按字母先后顺序排序 ②将参数转换成JSON字符串得到字符串A,特别注意这里JSON字符串没有空格 ③在字符串A的首尾加上apiSecret组成一个新字符串B 譬如: fe5f3c86-e513-4dec-a741-b5ccc14312eb{"apiSecret":"fe5f3c86-e513-4dec-a741-b5ccc14312eb","orderNumber":"OS-202104011546255555","requestId":"02853534-fe52-418f-a61a-8a4e66b41295","storeId":"1296258251744940032","timestamp":"1641290728680"}fe5f3c86-e513-4dec-a741-b5ccc14312eb ④对字符串B进行md5,取32位小写,得到签名sign

# (四) 支付流程图

# (五) 接口地址

接口前缀 https://openpay.zfkjgw.com

测试门店ID 1239217264408580096

测试门店apiSecret 66c7e6cee4b0bac4ca5c990c

# (六) 调用示例

平台 示例项目 参考类
JAVA 码云链接 (opens new window) com.huishua.openapiexample.merchant.MerchantApiDemo
上次更新: 8/28/2024, 6:30:59 AM