### Execute a Transfer Order with JeePay Java SDK Source: https://github.com/jeequan/jeepay-sdk-java/blob/main/README.md This Java code demonstrates how to perform a transfer operation using the JeePay Java SDK. It covers client setup, building the transfer request with account details and amount, executing the transfer, and handling potential exceptions. ```java // 创建客户端 JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey); TransferOrderCreateRequest request = new TransferOrderCreateRequest(); TransferOrderCreateReqModel model = new TransferOrderCreateReqModel(); model.setMchNo(Jeepay.mchNo); // 商户号 model.setAppId(Jeepay.appId); // 应用ID model.setMchOrderNo("mho" + new Date().getTime()); // 商户转账单号 model.setAmount(1L); model.setCurrency("CNY"); model.setIfCode("wxpay"); model.setEntryType("WX_CASH"); model.setAccountNo("a6BcIwtTvIqv1zXZohc61biryWok"); model.setAccountName(""); model.setTransferDesc("测试转账"); model.setClientIp("192.166.1.132"); // 发起转账请求客户端的IP地址 request.setBizModel(model); try { TransferOrderCreateResponse response = jeepayClient.execute(request); _log.info("验签结果:{}", response.checkSign(Jeepay.apiKey)); // 判断转账发起是否成功(并不代表转账成功) if(response.isSuccess(Jeepay.apiKey)) { String transferId = response.get().getTransferId(); _log.info("transferId:{}", transferId); _log.info("mchOrderNo:{}", response.get().getMchOrderNo()); }else { _log.info("下单失败:mchOrderNo={}, msg={}", model.getMchOrderNo(), response.getMsg()); _log.info("通道错误码:{}", response.get().getErrCode()); _log.info("通道错误信息:{}", response.get().getErrMsg()); } } catch (JeepayException e) { _log.error(e.getMessage()); } ``` -------------------------------- ### Initiate a Payment Order with JeePay Java SDK Source: https://github.com/jeequan/jeepay-sdk-java/blob/main/README.md This Java code demonstrates how to create a payment order using the JeePay Java SDK. It covers client initialization, request building with payment details like amount, currency, and callbacks, and executing the payment request. ```java // 创建客户端 JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey); // 构建请求数据 String wayCode = "WX_BAR"; // 支付方式 PayOrderCreateRequest request = new PayOrderCreateRequest(); PayOrderCreateReqModel model = new PayOrderCreateReqModel(); model.setMchNo(Jeepay.mchNo); // 商户号 model.setAppId(jeepayClient.getAppId()); // 应用ID String orderNo = "mho" + new Date().getTime(); model.setMchOrderNo(orderNo); // 商户订单号 model.setWayCode(wayCode); // 支付方式 model.setAmount(1l); // 金额,单位分 model.setCurrency("CNY"); // 币种,目前只支持cny model.setClientIp("192.166.1.132"); // 发起支付请求客户端的IP地址 model.setSubject("商品标题"); // 商品标题 model.setBody("商品描述"); // 商品描述 model.setNotifyUrl("https://www.jeequan.com"); // 异步通知地址 model.setReturnUrl(""); // 前端跳转地址 model.setChannelExtra(channelExtra(wayCode)); // 渠道扩展参数 model.setExtParam(""); // 商户扩展参数,回调时原样返回 request.setBizModel(model); // 发起统一下单 PayOrderCreateResponse response = jeepayClient.execute(request); // 验证返回数据签名 response.checkSign(Jeepay.apiKey); // 判断下单是否返回成功 response.isSuccess(Jeepay.apiKey) ``` -------------------------------- ### Process a Refund Order with JeePay Java SDK Source: https://github.com/jeequan/jeepay-sdk-java/blob/main/README.md This Java code illustrates how to initiate a refund for a payment order using the JeePay Java SDK. It includes setting up the client, constructing the refund request with order details, and executing the refund operation. ```java // 创建客户端 JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey); // 构建请求数据 RefundOrderCreateRequest request = new RefundOrderCreateRequest(); RefundOrderCreateReqModel model = new RefundOrderCreateReqModel(); model.setMchNo(Jeepay.mchNo); // 商户号 model.setAppId(Jeepay.appId); // 应用ID model.setMchOrderNo(""); // 商户支付单号(与支付订单号二者传一) model.setPayOrderId("P202106181104177050002"); // 支付订单号(与商户支付单号二者传一) String refundOrderNo = "mho" + new Date().getTime(); model.setMchRefundNo(refundOrderNo); // 商户退款单号 model.setRefundAmount(4l); // 退款金额,单位分 model.setCurrency("cny"); // 币种,目前只支持cny model.setClientIp("192.166.1.132"); // 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1 model.setRefundReason("退款测试"); // 退款原因 model.setNotifyUrl("https://www.jeequan.com"); // 异步通知地址 model.setChannelExtra(""); // 渠道扩展参数 model.setExtParam(""); // 商户扩展参数,回调时原样返回 request.setBizModel(model); // 发起统一退款 RefundOrderCreateResponse response = jeepayClient.execute(request); // 验证返回数据签名 response.checkSign(Jeepay.apiKey); // 判断退款发起是否成功(并不代表退款成功)退款状态 0-订单生成 1-退款中 2-退款成功 3-退款失败 4-退款关闭 // 如果 response.get().getState()==2 表示退款成功 response.isSuccess(Jeepay.apiKey) ``` -------------------------------- ### Add JeePay Java SDK Dependency Source: https://github.com/jeequan/jeepay-sdk-java/blob/main/README.md This snippet shows how to add the JeePay Java SDK to your project using Maven. Ensure you use the latest released version for the most up-to-date features and bug fixes. ```xml com.jeequan jeepay-sdk-java 1.6.1 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.