Toggle navigation
沙粒网
积少成多,积沙成塔
Blog
About
Home
Blog
易宝托管接口开发文档
易宝托管接口开发文档
(19/01/2019)
沙粒网
527
# 易宝托管接口开发文档 ## 测试环境 > 接口调用(浏览器网关):[http://220.181.25.233:8081/member/bha/xxx](http://220.181.25.233:8081/member/bha/xxx) > 接口调用(直连接口):[http://220.181.25.233:8081/member/bhaexter/bhaController](https://220.181.25.233:8081/member/bhaexter/bhaController) > 接口调用(移动网关):[http://220.181.25.233:8081/member/bhawireless/xxx](http://220.181.25.233:8081/member/bhawireless/xxx) > 托管账户自助系统:[http://220.181.25.233:8081/bha-toolkit/](http://220.181.25.233:8081/bha-toolkit/) > 开发者站点:[http://220.181.25.233:8081/confluence/pages/viewpage.action?pageId=524290](http://220.181.25.233:8081/confluence/pages/viewpage.action?pageId=524290) ## 生产环境 > 接口调用(浏览器网关):[https://member.yeepay.com/member/bha/xxx](https://member.yeepay.com/member/bha/xxx) > 接口调用(直连接口):[https://member.yeepay.com/member/bhaexter/bhaController](https://member.yeepay.com/member/bhaexter/bhaController) > 接口调用(移动网关):[https://member.yeepay.com/member/bha/xxx](https://member.yeepay.com/member/bha/xxx) ## 注意事项 ### 参数约定 #### 通用参数 - `requestNo`请求流水号,字符串类型,可以是字母或数字,50个字符以内,全局局唯一 - `platformUserNo`用户编号,字符串类型,可以是字母或数字,50个字符以内 - 日期格式`yyyy-MM-dd HH:mm:ss` #### 网关接口 - `req`请求信息,XML格式字符串,需要替换换行符字符,否则签名失败 - `sign`签名 #### 直连接口请求参数 - `service`服务名称 - `req`请求信息,XML格式字符串,需要替换换行符字符,否则签名失败 - `sign`签名 #### 网关|同步回调参数(`callback`地址) - `resp`响应参数,XML格式串 - `sign`签名 #### 直连|异步回调参数(`notify`地址) - `notify`回调通知参数,XML格式请求串 - `sign`签名 #### 幂调用 - `requestNo`重复请求,易宝未成功处理过该请求,处理本次请求并返回处理结果 - `requestNo`重复请求,易宝已成功处理过该请求,不处理本次请求并返回成功 ## 签名、验签 > 需要以下2个jar文件,开发者站点可下载 > `com.cfca.certkitjs-1.0.jar` > `com.cfca.pkibase-1.0.jar` ### 请求参数签名 将整个请求参数转换为xml,既req请求参数作为明文调用签名函数进行签名,得到密文。 签名函数 ```java /*** * 签名 * * @param sourceMessage 明文 * @param file 私钥文件路径 * @param password 私钥文件密码 */ public static String sign(String sourceMessage, String file, String password) { JKey privateKey; X509Cert publicKey; try { privateKey = CFCACertSignUtils.getPrivaeKey(file, password); publicKey = CFCACertSignUtils.getPublicKey(file, password); } catch (PKIException e) { e.printStackTrace(); return null; } String signMsg = CFCACertSignUtils.sign(sourceMessage, privateKey, new X509Cert[]{publicKey}, "UTF-8"); return signMsg; } ``` ### 验签 获取回调的notify明文、sign密文参数调用验签函数,得到验签结果。 验签函数 ```java /** * 验证签名 * * @param sourceMessage 明文 * @param signMsg 签名 * @param merchantNo 商户号 */ public static boolean verifySign(String sourceMessage, String signMsg, String merchantNo) { return CFCACertSignUtils.verifySign(sourceMessage, signMsg, merchantNo); } ```
发表评论