多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## **乐刷合作方JAVA-SDK使用指南** ## ### **注意事项** ### - 提供的SDK仅供参考,不能直接到生产环境中使用。 **运行环境** - Jdk1.7、Maven3.2.5、Eclipse Luna4.4.2、Tomcat8.0、编码UTF-8 **相关约定** - 商户号 乐刷分配的商户ID - 商户密钥 商户对应的密钥(签名使用) - 代理商密钥 代理商对应的密钥(签名使用) - 第三方订单号(第三方系统生成的订单号) **注**: 请求地址、agentId、privateKey等信息配置在config.properties文件中,更改信息时直接更改配置文件即可。配置文件config.properties在leshua-demo和leshua-sdk中都有,如果只引用leshua-sdk-0.0.1-SNAPSHOT.jar则以leshua-sdk中的配置文件为准,如果运行leshua-demo,以leshua-demo中的配置文件为准。 **SAAS渠道商商户接入接口调用DEMO** 主要结构:Leshua-demo工程对进件接口和交易接口中的接口都做了调用实例,可以直接部署工程进行测试,工程结构使用的是简单的MVC模型结构,leshua-demo使用maven引用leshua-sdk。 ![](https://box.kancloud.cn/efadc9b023de9dbefbc0bb0fa976dd8c_242x392.png) - **下面以进件接口中“商户信息查询”接口为例,描述demo、sdk开发步骤**: 1、在HomeController、index.jsp中加上相应的请求方法及对应跳转页面 ``` /**HomeController * 商户信息查询 * @return */ @RequestMapping("/wxOrZfbReportQuery") public String wxOrZfbReportQuery(){ return "wxOrZfbReportQuery"; } <!--index.jsp> <dl class="menu"> <dt>商户信息查询:</dt> <dd> <a href=" wxOrZfbReportQuery">点此</a> </dd> <dl> ``` 2、 编写对应的jsp页面,jsp名与HomeController中return的字符串值一致 ![jsp](https://box.kancloud.cn/a8834f1d16077ba1ab79a6d817d01533_202x26.png) 3、在MerchantController(leshua-demo)、MerchantGateWayService(leshua-sdk)中添加对应的方法: ``` /**  * 商户信息查询  * @param request  * @param model  * @return  */ @RequestMapping("/wxOrZfbReportQuery") public String wxOrZfbReportQuery(HttpServletRequest request,Model model){ JSONObject data = new JSONObject(); String result = null; try{ validParam(data, "merchantId", request.getParameter("merchantId")); validParam(data, "reportConfigId",request.getParameter("reportConfigId")); result = service.wxOrZfbReportQuery(data); }catch(Exception e) { logger.info("商户信息查询",e); } return result; } ``` ![demo](https://box.kancloud.cn/c07aa12fd7b0037db774c80ececa369c_554x137.png) 4、在MerchantConfig中新增对应的配置变量 ``` public class MerchantConfig {      public static String AGENT_ID;//代理商编号      public static String KEY;//私钥      public static String VERSION; //版本号      public static String CHARSET;//字符编码//   public static String REQ_SERIAL_NO = UUID.randomUUID().toString();//请求流水号,可自定义       public static String REGISTER_URL;//商户进件      public static String OPEN_URL;//商户开通业务     public static String UPDATE_URL;//商户信息修改     public static String WX_PAY_CONFIG_URL;//商户支付参数-新增      public static String WX_PAY_CONFIG_QUERY_URL;//商户支付参数-查询 public static String WX_ZFB_MCH_INFO_QUERY_URL;//商户信息查询          public static String ACCOUNT_UPDATE_URL;//结算卡快速修改 static {          Properties prop = new Properties();         InputStream in = LeshuaConfig.class.getResourceAsStream("/config.properties");          try { prop.load(in);              AGENT_ID = prop.getProperty("AGENT_ID").trim();   KEY = prop.getProperty("KEY").trim(); VERSION = prop.getProperty("VERSION").trim();              CHARSET = prop.getProperty("CHARSET").trim();                REGISTER_URL = prop.getProperty("REGISTER_URL").trim();   OPEN_URL = prop.getProperty("OPEN_URL").trim();   UPDATE_URL = prop.getProperty("UPDATE_URL").trim();              WX_PAY_CONFIG_URL=prop.getProperty("WX_PAY_CONFIG_URL").trim();     WX_PAY_CONFIG_QUERY_URL =prop.getProperty("WX_PAY_CONFIG_QUERY_URL").trim();             WX_ZFB_MCH_INFO_QUERY_URL=prop.getProperty("WX_ZFB_MCH_INFO_QUERY_URL").trim();              ACCOUNT_UPDATE_URL=prop.getProperty("ACCOUNT_UPDATE_URL").trim();              SETTLEMENT_ORDER_URL = prop.getProperty("SETTLEMENT_ORDER_URL").trim();          } catch (IOException e){     e.printStackTrace();         }    } ``` 5、在config.properties中添加对应的配置 ``` #商户信息查询 WX_ZFB_MCH_INFO_QUERY_URL=http://pos.lepass.cn/api/merchant/mch_info_qry.do ``` - **下面以交易接口为例,描述demo、sdk开发步骤** - **项目结构** ![project-structure](https://box.kancloud.cn/3488bb160b3eac50060eb6d2cba16a35_198x331.png) - **引用JAR包** leshua-sdk-0.0.1-SNAPSHOT.jar - **相关SERVICE** LeshuaMicroPayService : 条码支付 LeshuaScanCodePayService: 扫码支付 LeshuaTransQueryService: 交易查询 LeshuaTransRefundService: 交易退款 LeshuaRefundQueryService: 交易退款查询 LeshuaOrderCloseService: 交易订单关闭 LeshuaOpenIdQueryService: 授权码查询用户openid **注** : SDK内部封装了接口签名及验签功能,只需要调用相应的service,即可调通所有接口,相应接口参数,请查看接口文档。具体调用参考leshua-demo - **调用代码片段** 1、扫码支付 ![SMZF](https://box.kancloud.cn/b1edafa665306e0a022a7d6658fc365f_465x326.png) 2、条码支付 ![TMZF](https://box.kancloud.cn/84698352137f8745622befdd98722fe4_518x455.png) 3、交易结果查询 ![JYJGCX](https://box.kancloud.cn/b0b0220ec1bd879320e2b51d20b7b271_554x374.png) 4、订单关闭 ![DDGB](https://box.kancloud.cn/c4ee08ccd64c25cac2853a3d2c64f4a1_547x378.png) 5、退款 ![TK](https://box.kancloud.cn/987156340a493c42f26b66ae45b3a356_554x458.png) 6、退款查询 ![TKCX](https://box.kancloud.cn/03c38f3703cb4f85f0883d201eb76619_554x317.png) 7、授权码查询用户openid ![openid](https://box.kancloud.cn/a92274eeb3c9b64e3d46da8ac6990b3d_554x280.png) 8、回调通知(POST接收XML参数) ![TZ](https://box.kancloud.cn/49c32dd332b2fc808dd3f96e69a8b8b1_554x290.png)