对接说明
接入模式
api分大商户、普通商户两种模式,主要区别如下
大商户模式:
贵平台提供SAAS技术服务服务不同的用工企业
普通商户模式:
贵平台既用工企业
大商户只提供一套密钥,后续入网商户提供商户号
接入前提
接入企业需要线下配合我司平台运营完成入网签约,再由我司技术配置商户参数给到贵司技术,完成RSA密钥交换
接口说明
1.接口使用统一的url地址
2.请求/响应Content-Type使用application/json
3.接口请求加解密方式,平台公钥进行bizModel报文加密, 商户私钥进行sign加签
:::highlight red 📌
密钥位数:1024
填充方式:PKCS8
在线生成地址:https://www.bejson.com/enc/rsa/
注意:RSA公私钥经过base64编码,不同开发语言下,注意进行解码
:::
4.提现、充值、付款、退票、开票、合同签约场景支持通知, 具体查看通知说明通知接口说明
5.如果接入的是银行通道,需要考虑退票场景,退票场景主要为佣金结算通知付款成功后,银行收到对方行退票,导致成功的订单变为失败
:::highlight yellow 📌
如贵司使用的是java开发语言,我司提供SDK包,其它开发语言因技术原因暂不提供,具体实现参考接口说明
下载地址:https://tax-plan-prod.oss-cn-shenzhen.aliyuncs.com/public/openapi/tax-plan-open-api-2.0-20241121.jar
:::
测试地址: http://api.test.taxll.com/
正式地址: https://api.taxll.com/
sign加签说明
参与签名参数和示例值
- 接口编码 如:apiCode=SFT0101 参考接口说明
- 商户号 如:merchantNo=1000001 平台分配给用工企业的商户号
- 时间戳 如:timestamp=20210101010101 当前时间戳 格式:yyyyMMddHHmmss
- 请求流水 如:requestNo=abcs111111111 自己生成便于后续查询日志
- 接口版本 如:version=2.0 固定值2.0
- 接口参数对象 如:bizModel=接口参数对象转换为json字符串后使用平台RSA公钥加密的值, 如接口要求不加密则为接口参数对象json格式后的字符串,为空不加密但是需要空字符串
SIGN规则说明
- bizModel为接口参数转成json字符串,使用平台RSA公钥加密的值
- 加签参数apiCode,merchantNo,requestNo,timestamp,version,bizModel排序后,按key=value&key=value 拼接
:::highlight purple 💡
拼接sing字符串示例值: apiCode=SFT0204&bizModel=huV9ooXRlLNd1EEsU212ZPbFB/XTSvKYaocqmh3ToFmcI3PE186CK0jB6BkD3CV4E/C9qRiVQmZEw17pmbvLsuP0UCJ3ZXvxoloMTmBPljj4vBAZWcn0B1bJcTFaW+AW5/MbeQULDZsZac9S4TW+d7JTrlI8/5kOcKWMZ89pYuY=&merchantNo=1088202103120003&requestNo=55fa621c-b8f7-473f-8f0e-8c634d6d2925×tamp=20240108151819&version=2.0
::: - 拼接后的字符串,使用商户RSA私钥签名生成sign值,签名规则:
:::highlight red 💡
1) 使用MD5withRSA算法完成签名
2) 签名后使用base64算法进行编码
:::请求参数
参数字段 参数说明 数据类型 是否必传 apiCode 接口编码,具体查看接口说明 string 是 merchantNo 商户号,平台分配 string 是 requestNo 请求流水,自定义 string 是 timestamp 请求时间戳,格式:yyyyMMddHHmmss,平台会进行重放请求校验 string 是 version 接口版本,默认2.0 string 否 bizModel 接口参数对象,具体查看接口说明,接口参数根据接口说明要求需要进行加密 object 是
:::highlight red 📌
1.接口参数bizModel加密前为json格式字符串(参数值参考接口说明),json字符串使用平台RSA公钥加密
2.接口请求示例中bizModel都是明文,实际请求时需要进行RSA加密
注:bizModel参数传空字符不进行RSA加密,接口会基于校验规则校验接口参数
:::
:::highlight orange 📌
bizModel请求报文RSA加密规则(平台RSA公钥加密):
1.平台公钥先进行base64解码
2.加密字符串转换成byte[], 按117位截取byte[]进行分段加密
3.使用RSA算法、ECB模式和PKCS1Padding填充方式来加密数据,如:RSA/ECB/PKCS1Padding
4.分段加密后的byte[]组合,在进行base64编码,完成最终bizModel加密
注:bizModel参数传空字符不进行RSA加密,接口会基于校验规则校验接口参数
:::
请求示例:
响应参数
参数字段 | 参数说明 | 数据类型 |
---|---|---|
code | 返回码,成功返回200,其它根据接口会返回不同的错误编码 | integer |
message | message | string |
.... | 返回数据,具体查看接口响应说明 | object |
响应示例: