diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index 2303bdf5d..98bd94bd2 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -599,7 +599,7 @@ public class MemberService { * @return */ public Map rechargeBalanceWithAdapay(WeixinPayDTO dto) { - // 获取支付信息 + // 获取支付配置 AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getAppId()); if (config == null) { throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR); @@ -624,7 +624,7 @@ public class MemberService { createAdaPaymentParam.setDescription(JSON.toJSONString(map)); try { log.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam)); - Map response = Payment.create(BeanMap.create(createAdaPaymentParam), dto.getAppId()); + Map response = Payment.create(BeanMap.create(createAdaPaymentParam), config.getWechatAppId()); log.info("创建汇付支付参数反参:{}", JSONObject.toJSONString(response)); if (response != null && !response.isEmpty()) { JSONObject jsonObject = JSONObject.parseObject(response.get("expend").toString()); diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/config/InitializeAdapayConfig.java b/jsowell-pile/src/main/java/com/jsowell/adapay/config/InitializeAdapayConfig.java index dce7b3c06..f1167b8a0 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/config/InitializeAdapayConfig.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/config/InitializeAdapayConfig.java @@ -113,7 +113,7 @@ public class InitializeAdapayConfig implements CommandLineRunner { merConfig.setApiKey(apiKey); merConfig.setApiMockKey(mockApiKey); merConfig.setRSAPrivateKey(rsaPrivateKey); - // 定义一个商户的B的唯一标识,交易发起时,用于定位是哪个商户发起交易 + // 定义一个商户的B的唯一标识,交易发起时,用于定位是哪个商户发起交易;使用微信小程序appId作为merchantKey configPathMap.put(config.getWechatAppId(), merConfig); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java index 505c3a972..b06ed9dc4 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java @@ -51,6 +51,11 @@ public class PayOrderDTO { private OrderBasicInfo orderBasicInfo; + /** + * 微信小程序appId + */ + private String appId; + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 4b4f8002f..65f6d293e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -14,6 +14,8 @@ import com.huifu.adapay.model.Payment; import com.huifu.adapay.model.PaymentConfirm; import com.jsowell.adapay.common.CreateAdaPaymentParam; import com.jsowell.adapay.common.DivMember; +import com.jsowell.adapay.config.AbstractAdapayConfig; +import com.jsowell.adapay.factory.AdapayConfigFactory; import com.jsowell.adapay.response.BalancePaymentResponse; import com.jsowell.adapay.response.PaymentConfirmResponse; import com.jsowell.adapay.response.PaymentReverseResponse; @@ -2770,6 +2772,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { return cacheObject; } + // 获取支付配置 + AbstractAdapayConfig config = AdapayConfigFactory.getConfig(dto.getAppId()); + if (config == null) { + throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR); + } + OrderBasicInfo orderInfo = dto.getOrderBasicInfo(); if (orderInfo == null) { // 订单为空重新查询 @@ -2787,7 +2795,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam(); createAdaPaymentParam.setOrder_no(orderInfo.getOrderCode()); createAdaPaymentParam.setPay_amt(amount); - createAdaPaymentParam.setApp_id(ADAPAY_APP_ID); + createAdaPaymentParam.setApp_id(config.getAdapayAppId()); createAdaPaymentParam.setPay_channel("wx_lite"); // todo 如果以后有支付宝等别的渠道,这里需要做修改,判断是什么渠道的请求 createAdaPaymentParam.setGoods_title("充电费用"); createAdaPaymentParam.setGoods_desc("充电桩预付款金额"); // 这个字段是微信支付凭证的商品名 @@ -2805,7 +2813,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { createAdaPaymentParam.setPay_mode(payMode); try { logger.info("创建汇付支付参数:{}", JSONObject.toJSONString(createAdaPaymentParam)); - Map response = Payment.create(BeanMap.create(createAdaPaymentParam)); + Map response = Payment.create(BeanMap.create(createAdaPaymentParam), config.getWechatAppId()); if (response != null && !response.isEmpty()) { JSONObject expend = JSONObject.parseObject(response.get("expend").toString()); JSONObject pay_info = expend.getJSONObject("pay_info");