| | |
| | | totalAmount = counsellingOrder.getPayAmount(); |
| | | } |
| | | |
| | | |
| | | // 判断转换后的BigDecimal是否为0 |
| | | if (totalAmount.compareTo(BigDecimal.ZERO) == 0) { |
| | | if (req.getOrderNo().startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) { |
| | | // 心理测试订单 |
| | | orderMentalTestService.paySuccess(req.getOrderNo(), req.getOrderNo(), String.valueOf(totalAmount), PayTypeEnum.ALIPAY.getCode()); |
| | | } else if (req.getOrderNo().startsWith(OrderTypeEnum.CONSULT_ONE.getCode())) { |
| | | // 心理咨询1V1订单 |
| | | mentalTestOrderBizService.paySuccessOrderConsultOne(req.getOrderNo(), req.getOrderNo(), String.valueOf(totalAmount), PayTypeEnum.ALIPAY.getCode()); |
| | | } else if (req.getOrderNo().startsWith(OrderTypeEnum.COURSE_ORDER.getCode())) { |
| | | //课程订单 |
| | | OrderPayRequest orderPayRequest = new OrderPayRequest(); |
| | | orderPayRequest.setOrderNo(req.getOrderNo()); |
| | | orderPayRequest.setTransactionNo(req.getOrderNo()); |
| | | orderPayRequest.setPayType("2"); |
| | | orderPayRequest.setOrderType(1); |
| | | courseOrderService.payCourseOrder(orderPayRequest); |
| | | } else if (req.getOrderNo().startsWith(OrderTypeEnum.COUNSELLING_ORDER.getCode())) { |
| | | //咨询订单 |
| | | OrderPayRequest orderPayRequest = new OrderPayRequest(); |
| | | orderPayRequest.setOrderNo(req.getOrderNo()); |
| | | orderPayRequest.setTransactionNo(req.getOrderNo()); |
| | | orderPayRequest.setPayType("2"); |
| | | orderPayRequest.setOrderType(2); |
| | | counsellingOrderService.payCounsellingOrder(orderPayRequest); |
| | | } |
| | | return new SuccessResponseData("支付成功"); |
| | | } |
| | | |
| | | // 设置支付配置 |
| | | WxPayApiConfigKit.putApiConfig(getApiConfig()); |
| | | //WxPayApiConfigKit.setThreadLocalAppId(wxPayBean.getAppId()); |
| | |
| | | .nonce_str(WxPayKit.generateStr()) |
| | | .body(req.getSubject()) |
| | | .attach(req.getSubject()) |
| | | //.out_trade_no(WxPayKit.generateStr()) |
| | | .out_trade_no(req.getOrderNo()) |
| | | .out_trade_no(WxPayKit.generateStr()) |
| | | // .out_trade_no(req.getOrderNo()) |
| | | .total_fee(totalFee) |
| | | .spbill_create_ip(ip) |
| | | .notify_url(notifyUrl) |
| | | .trade_type(TradeType.APP.getTradeType()) |
| | | .trade_type(TradeType.APP.getTradeType()).attach(req.getOrderNo()) |
| | | .build() |
| | | .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); |
| | | log.debug("微信APP支付请求params:{}", JSONUtil.toJsonStr(params)); |
| | |
| | | if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.MD5)) { |
| | | if (WxPayKit.codeIsOk(returnCode)) { |
| | | // 参数文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7&index=8 |
| | | String totalFee = params.get("total_fee"); |
| | | String totalFee = new BigDecimal(params.get("total_fee")).divide(BigDecimal.valueOf(100)).toString(); |
| | | String transactionId = params.get("transaction_id"); |
| | | // 获取订单号 |
| | | String orderNo = params.get("out_trade_no"); |
| | | // String orderNo = params.get("out_trade_no"); |
| | | String orderNo = params.get("attach"); |
| | | // 订单编号判断订单类型 |
| | | if (orderNo.startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) { |
| | | // 心理测试订单 |