| | |
| | | @Override |
| | | public R<Map<String, Object>> getPayInfo(Long uid, Integer type, String orderNO, String openId, |
| | | HttpServletRequest request) { |
| | | PaymentMethodEnum paymentMethodEnum = |
| | | type == 1 ? PaymentMethodEnum.ALIPAY : PaymentMethodEnum.WECHAT; |
| | | Member member = memberClient.getMembeOne(uid, SecurityConstants.INNER).getData(); |
| | | openId = member.getMiniOpenid(); |
| | | String zfbOpenid = member.getZfbOpenid(); |
| | |
| | | wrapper1.eq(OrderAuctionBond::getDelFlag,0); |
| | | OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1); |
| | | one1.setBoundStatus(BondStatusEnum.PAID); |
| | | one1.setPaymentMethod(PaymentMethodEnum.WECHAT); |
| | | one1.setPaymentMethod(paymentMethodEnum); |
| | | orderAuctionBondMapper.updateById(one1); |
| | | |
| | | |
| | | if (one1.getBond()==null||one1.getBond().compareTo(new BigDecimal(0))==0){ |
| | | one1.setBoundStatus(BondStatusEnum.PAID); |
| | | Map<String, Object> returnMap = new HashMap<>(); |
| | | // Type 1是否需要支付 |
| | | returnMap.put("Type",1); |
| | | return R.ok(returnMap); |
| | | } |
| | |
| | | wrapper1.eq(Order::getDelFlag,0); |
| | | Order page1 = OrderMapper.selectOne(wrapper1); |
| | | page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED); |
| | | page1.setPaymentMethod(PaymentMethodEnum.WECHAT); |
| | | page1.setPaymentMethod(paymentMethodEnum); |
| | | page1.setPayTime(LocalDateTime.now()); |
| | | OrderMapper.updateById(page1); |
| | | if (page1.getTotalAmount().compareTo(new BigDecimal(0))==0){ |
| | |
| | | |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.info("获取异常", e); |
| | | } |
| | | return R.fail("获取异常"); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public void notifyUrl(HttpServletRequest request, HttpServletResponse res) { |
| | | log.info("=============================支付宝回调============================="); |
| | | HttpServletResponse response = (HttpServletResponse) res; |
| | | response.setContentType("text/html;charset=UTF-8"); |
| | | PrintWriter out; |
| | |
| | | log.debug("AlipayController.notifyUrl__回调逻辑代码处理异常!fail"); |
| | | // 返回失败 |
| | | out.println("fail"); |
| | | e.printStackTrace(); |
| | | log.error("AlipayController.notifyUrl__回调逻辑代码处理异常!fail", e); |
| | | } |
| | | // //////////////////////////////////////////////////////////////////////////////////////// |
| | | } else {// 验证失败 |
| | |
| | | } catch ( |
| | | IOException e) { |
| | | log.debug("AlipayController.notifyUrl__支付宝服务器异步通知数据处理失败!"); |
| | | e.printStackTrace(); |
| | | log.error("AlipayController.notifyUrl__支付宝服务器异步通知数据处理失败!", e); |
| | | } |
| | | } |
| | | |
| | |
| | | + "\", " + "\"refund_amount\":" + refund_amount + ", " + "\"refund_reason\":\"正常退款\"," |
| | | + "\"out_request_no\":\"HZ01RF001\"" + "}"); |
| | | AlipayTradeRefundResponse response = alipayClient.execute(request); |
| | | log.info("支付宝退款response:" + response.getBody()); |
| | | // 调用成功,则处理业务逻辑 |
| | | if (response.isSuccess()) { |
| | | return true; |
| | |
| | | System.out.println("微信退款结果: " + xmlResult); |
| | | return true; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | refundForWxpay(4, "4200002335202408022336923702", |
| | | "BO24080216090001", "R123456789", 1, 1, "2"); |
| | | } |
| | | /** |
| | | * 获取支付宝 |
| | | * |
| | |
| | | * @throws Exception |
| | | */ |
| | | private Paylog getPayLog_alipay(HttpServletRequest request) throws IOException { |
| | | //////// 获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以下仅供参考)//////// |
| | | //////// 获取支付宝的通知返回参数,可参考技术文档中页面跳转步通知同参数列表(以下仅供参考)//////// |
| | | // 商户订单号 |
| | | String out_trade_no = new String(request.getParameter("out_trade_no").getBytes("ISO-8859-1"), "UTF-8"); |
| | | // 支付宝交易号 |
| | |
| | | // 交易状态 |
| | | String trade_status = new String(request.getParameter("trade_status").getBytes("ISO-8859-1"), "UTF-8"); |
| | | // 支付者唯一Id |
| | | String buyer_id = new String(request.getParameter("buyer_id").getBytes("ISO-8859-1"), "UTF-8"); |
| | | // String buyer_id = new String(request.getParameter("buyer_id").getBytes("ISO-8859-1"), "UTF-8"); |
| | | // 支付帐号 |
| | | String buyer_email = ""; |
| | | if (SinataUtil.isNotEmpty(request.getParameter("buyer_logon_id"))) { |
| | | buyer_email = new String(request.getParameter("buyer_logon_id").getBytes("ISO-8859-1"), "UTF-8"); |
| | | } |
| | | // String buyer_email = ""; |
| | | // if (SinataUtil.isNotEmpty(request.getParameter("buyer_logon_id"))) { |
| | | // buyer_email = new String(request.getParameter("buyer_logon_id").getBytes("ISO-8859-1"), "UTF-8"); |
| | | // } |
| | | // 支付金额 |
| | | String total_fee = new String(request.getParameter("total_amount").getBytes("ISO-8859-1"), "UTF-8"); |
| | | // 支付时间 |
| | |
| | | Paylog paylog = new Paylog(); |
| | | paylog.setOutTradeNo(out_trade_no); |
| | | paylog.setPayType(1); |
| | | paylog.setBuyerId(buyer_id); |
| | | // paylog.setBuyerId(buyer_id); |
| | | paylog.setTradeNo(trade_no); |
| | | paylog.setPayMoney(Double.parseDouble(total_fee)); |
| | | paylog.setState(1); |