一、文档说明

1.写在前面2.错误代码表

二、安全认证与签名

1.签名方法2.AES加密

三、结算公司和资金余额

1.资金池余额查询2.税源地公司信息查询

四、实时发放

1.接口使用流程2.实时发放数据上报(单笔)3.查询实时发放数据(单笔)4.回调通知5.申请实时发放业务账单6.查询实时发放业务账单申请状态

五、业务级错误代码

1.实时发放接口错误代码2.数据格式正则校验失败code

六、枚举类型

1.证件类型2.支付宝支付交易失败code3.交易状态4.导出状态
4.回调通知

异步通知

系统会根据业务异步通知地址,通过POST请求的形式将支付结果通知到合作方平台系统

当理账狮SaaS接收到上报订单后,会把相关处理结果发送给商户,商户需要接收处理,并返回应答。
接口正常处理完通知后必须输出“success”。(不包含引号且小写)
如果理账狮SaaS收到商户的应答不是成功或超时,理账狮SaaS认为通知失败,理账狮SaaS会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但理账狮SaaS不保证通知最终能成功通知频率为:10s/30s/1h/2h/8h,共5次)。

*注意:同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。

推荐的做法是,当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。

在提现接口中上传参数“notifyUrl”以开通该功能
如果链接无法访问,商户将无法接收到理账狮SaaS通知。
通知url必须为直接可访问的url,可以携带GET参数。
示例:notifyUrl:“https://xxx.com/notify”

约定规范
  1. 通知采用 POST 方式发送,消息体格式为 json
  2. AES解密(见签名说明);
  3. 商户正常处理完通知后必须输出“success”(不包含引号且小写);
  4. 签名原文未经URL Encoding;
  5. 如果商户处理通知没有输出“success”,则服务器会不断重发通知,重试时间间隔为:10s/30s/1h/2h/8h (共通知5次后不再通知)
  6. 同样的通知可能会多次发送给商户系统。商户系统必须处理幂等
通知响应参数
参数 类型(长度) 是否必填 描述
content string 不可空 业务参数集加密后的字符串,通过AES加密 [见AES加密]
以下为解密后的JSON业务参数
outerTradeNo string(32) 不可空 商户业务订单号
empNum string(32) 可空 自定义员工编号(商户系统中用户唯一编号)
empName string(32) 不可空 收款人户名
empPhone string(11) 不可空 收款人手机号(税务局报税要求必填)
licenseType string(10) 不可空 收款人证件类型 [见附录【证件类型】]
licenseId string(32) 不可空 收款人证件号码
settleType string(10) 不可空 交易类型(bankcard:银行卡,alipay:支付宝,wechatpay:微信支付)
payAccount string(32) 不可空 收款账号,交易类型为支付宝时,为支付宝账号
bankName string(32) 可空 收款人银行名称 (无需细到支行名称)
payAmount Number(12) 不可空 交易金额(实际到账金额)
tradeStatus string(10) 不可空 交易状态 [见附录【交易状态】]
tradeTime string(32) 可空 交易时间
frontLogNo string(32) 可空 银行交易流水号
tradeFailCode string(10) 可空 交易失败code
响应示例

正常:

{
    "data": {
       "content":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
}
对应解密后的JSON格式:

{
 	 "outerTradeNo": "f2cb9c91f3c3637fb41ea5b647836dfe",
         "empName": "aloqog7355",
         "empPhone": "18801270000",
         "licenseType": "ID_CARD",
         "licenseId": "990809198508017900",
         "settleType": "alipay",
         "payAccount": "aloqog7355@sandbox.com",
         "positionName": "音视频服务费",
         "payAmount": 10.01,
         "tradeStatus": "success",
         "tradeTime": "2020-11-11 11:11:11",
         "frontLogNo": "232748927498434343"
}