# zhi-pay-java-demo **Repository Path**: zhi-pay/zhi-pay-java-demo ## Basic Information - **Project Name**: zhi-pay-java-demo - **Description**: No description available - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-11-14 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pay-java-demo ## 运行 - 运行前先配置PayClientConfig相关参数 - 通过外部Tomcat容器运行 - 或通过运行Launch类启动内嵌Tomcat快捷运行(要求jdk1.8、IDEA) ## 开发相关 #### 项目说明 - 依赖:pay-sdk-x-x.jar、fastjson-1.2.47.jar(在/web/WEB-INF/lib下可以找到) - 商户配置:参考PayClientConfig.java,其中配置了`商户ID`、`商户安全码` #### 通讯模式代码示例 1. 同步方式 > 如调用绑卡`bindCardSign`服务 ``` // 公共参数 Map requestMap = PayRequestUtils.build("bindCardSign"); // 业务参数 requestMap.put("bankId", "ICBC"); // 其他业务参数... // 加签&请求 Map responseMap = payClient.doPost(requestMap); // 判断是否执行成功 if ("true".equals(responseMap.get("success"))) { // 绑卡签约成功... } // 异常由商户自行捕获处理... ``` 2. 异步方式 > 如批量代付`batchPrepare`服务,处理服务器异步消息 ``` // 验签&解析 Map notifyMap = payClient.doAsyncMessage(request); // 判断业务是否成功 if ("success".equals(notifyMap.get("status"))) { // 通知成功 System.out.println("收到服务器请求,业务成功:" + notifyMap); response.getWriter().write("success"); return; } // 异常由商户自行捕获处理... System.out.println("收到服务器请求,业务失败:" + notifyMap); ```