第四章 接口参数(1) - 充值流程

>d 接口调用细节流程: ◆ 参数RSA加密[接口签名,加解密说明](https://easydoc.xyz/doc/98778187/o4ecqJ51/StSSkNi5) ◆ 将加密结果以及公共参数拼接成新的字符串通过MD5加密生成签名 ◆ 将公共参数以及签名通过header传输,参数加密结果通过body传输,发起http请求 ◆ 返回结果解密[接口签名,加解密说明](https://easydoc.xyz/doc/98778187/o4ecqJ51/StSSkNi5) ## 接口响应参数都为如下固定json格式 |参数名称|参数含义|数据类型|是否必有|参数备注| |-|-|-|-|-| |resopnseType| 返回类型|int|是|无需关注此值| |errorCode|错误码 |String|是|详情参考[系统错误码](https://easydoc.xyz/doc/98778187/o4ecqJ51/GiTKQ3py)| |errorMessage| 错误信息|String|是|详情参考[系统错误码](https://easydoc.xyz/doc/98778187/o4ecqJ51/GiTKQ3py)| |status|状态码|int|是|详情参考[系统错误码](https://easydoc.xyz/doc/98778187/o4ecqJ51/GiTKQ3py)| |success|是否成功|boolean|是|true:成功 false:失败| |data|返回结果数据|String|否|只有当success为true才会有该值,该值为RSA加密值,需解密使用,解密规则请看[接口签名,加解密说明](https://easydoc.xyz/doc/98778187/o4ecqJ51/StSSkNi5)| ## 1.1 充值接口 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/balance/recharge #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|是否必填|参数备注| |-|-|-|-| |mainstayId|主体ID|是|| |payType|支付类型|否|0:银行卡账户 1:支付宝账户、2:微信账户。默认为0(银行卡账户充值)| |amount|充值金额|是|| |bankVoucherFile|充值银行回执单|否|该参数为通过[5.上传文件接口](https://easydoc.xyz/doc/98778187/o4ecqJ51/fJ3ZSpP4)将文件上传后返回的值| |remarks|备注|否|| |thirdRechargeNo|第三方充值单号|是|| #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |thirdRechargeNo| 第三方充值单号| String|是|| |entryAmount| 打款金额|String|是|| |rechargeAmount| 实际充值到账金额(扣除税费)|String|是| || |contractTaxRate| 税率|String|是| || |contractTaxAmount| 税费|String|是| || ## 1.2 充值结果查询接口 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/balance/rechargeResultQuery #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|是否必填|参数备注| |-|-|-|-| |thirdRechargeNo|第三方充值单号|否|| |rechargeBillNo |平台充值单号|否|| >d 注意:请求入参的平台充值订单号和第三方充值单号可以任选一个,如果传入两个会做精准匹配; #### 接口响应参数data字段解密后map中的参数说明: |参数名称| 参数含义|数据类型| 是否必有| 参数备注| |-|-|-|-|-| |rechargeBillNo|平台充值订单号|String|是|| |thirdRechargeNo| 第三方充值单号|String| 否|调用1.1 充值接口后才有值| |payType|账户类型|Long|是|系统编码:[支付类型码](https://easydoc.net/doc/98778187/o4ecqJ51/GiTKQ3py)| |auditStatus| 充值审核状态|Integer| 是|| |rechargeAmount| 充值金额|BigDecimal| 是|| |entryAmount| 入账金额|BigDecimal| 是|| |entryTime| 入账时间|Date|否|| |contractTaxAmount| 合同税费|BigDecimal| 是|| |contractTaxRate| 合同税率|BigDecimal| 是|| >d 注意: >1. 如果 data字段为空则代表未取得充值结果 >2. 入账时间: 分线下充值和实时入金, (1)线下充值是后台审核后的入账时间 (2)实时入金指的是资金实际到账的时间 ## 1.3 充值成功异步回调 >d 该接口需要第三方自行编写提供接口到发放平台回调成功必须返回success不然会重复回调 #### 请求方式:POST 解密结果示例如下: ```json {"rechargeBillNo":"xxxxxxxxxxxxxx","payType":0,"auditStatus":2,"rechargeAmount":12.01,"thirdRechargeNo":"xxxxx","entryAmount":12.01,"entryTime":"2021-12-12 05:12:12","contractTaxAmount":12.01,"contractTaxRate":0.1}"; ``` |参数名称| 参数含义| 数据类型|是否必有| 参数备注| |-|-|-|-|-| |rechargeBillNo|平台充值订单号|String|是|| |thirdRechargeNo| 第三方充值单号|String| 否|调用1.1 充值接口后才有值| |payType|账户类型|Long|是|系统编码:[支付类型码](https://easydoc.net/doc/98778187/o4ecqJ51/GiTKQ3py)| |auditStatus| 充值审核状态|Integer| 是|| |rechargeAmount| 充值金额|BigDecimal| 是|| |entryAmount| 入账金额|BigDecimal| 是|| |entryTime| 入账时间|Date|否|| |contractTaxAmount| 合同税费|BigDecimal| 是|| |contractTaxRate| 合同税率|BigDecimal| 是|| >d 注意: >1. 入账时间: 分线下充值和实时入金, (1)线下充值是后台审核后的入账时间 (2)实时入金指的是资金实际到账的时间 >2. 充值回调支持:线下充值和实时入金两种方式 #### 接口示例: >d 该接口需要第三方自行编写提供接口到发放平台 接口编写示例如下。 #### 请求方式:POST ```java @PostMapping("signCallBack") @ResponseBody public String signCallBack(HttpServletRequest request, @RequestBody String data){ String publicKey = "该公钥由发放平台提供发放到贵司邮箱"; //解密 String decode = RSAHelper.decryptByPublicKey(data, publicKey); /*贵公司处理业务逻辑*/ return "success"; } ``` 解密工具类在 [JAVA_DEMO](https://gitee.com/xinfudblog/lxapi_java_demo) 的 RSAHelper 类中 >d 贵司写完后提供到接口url给发放平台即可。回调成功需返回success,不然回重复回调,至多重试5次 postman中模拟接口是否正常接收数据如下操作 ![微信截图_20191111122018.png](https://cos.easydoc.net/44383407/files/k2tx5nl4.png) ## 1.4 余额查询接口 开发环境:https://pay-dev.lx-rhino.com 生产环境:https://api.lx-rhino.com #### 接口地址: /open/api/v1/balance/query #### 请求方式:POST #### 请求参数说明: |参数名称|参数含义|是否必填|参数备注| |-|-|-|-| |mainstayId|主体id|是|对应要查询某个主体的ID| |payType|支付类型|是|详情请看[支付类型码](https://easydoc.xyz/doc/98778187/o4ecqJ51/GiTKQ3py)| >d ◆填写主体名称: 示例: String data = {"mainstayId":"1","payType":"0"}; #### 接口响应参数data字段解密后的参数说明: |参数名称| 参数含义| 是否必有| 参数备注| |-|-|-|-| >d该响应参数data字段解密后为即为余额。 解密结果示例 "10.21"