|
@@ -148,7 +148,13 @@ public class WxPayService extends PayBaseService {
|
|
|
log.info("回调参数中attach值为空");
|
|
|
return null;
|
|
|
}
|
|
|
- WxPayConfigDTO config = this.configInit(gamePayWayService.getById(attachBO.getGamePayWayId()));
|
|
|
+ //查询订单
|
|
|
+ PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(packageParams.get("out_trade_no"));
|
|
|
+ if (platformOrderDTO == null) {
|
|
|
+ log.info("回调参数中订单id无法查询到订单信息");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ WxPayConfigDTO config = this.notifyConfigInit(platformOrderDTO, gamePayWayService.getById(attachBO.getGamePayWayId()));
|
|
|
// 账号信息
|
|
|
String key = config.getApiKey();
|
|
|
// 判断签名是否正确
|
|
@@ -282,7 +288,7 @@ public class WxPayService extends PayBaseService {
|
|
|
GamePayWayDTO gamePayWayDTO = gamePayWayService.getGamePayWay(platformOrderDTO.getGameId(),
|
|
|
platformOrderDTO.getPayWayId(), platformOrderDTO.getPayDeviceId());
|
|
|
//初始化配置
|
|
|
- WxPayConfigDTO config = this.configInit(gamePayWayDTO);
|
|
|
+ WxPayConfigDTO config = this.notifyConfigInit(platformOrderDTO, gamePayWayDTO);
|
|
|
try {
|
|
|
Map<String, String> paramData = new HashMap<>(6);
|
|
|
paramData.put("appid", config.getAppId());
|
|
@@ -379,4 +385,26 @@ public class WxPayService extends PayBaseService {
|
|
|
//赋值配置信息
|
|
|
return payConfigBO;
|
|
|
}
|
|
|
+
|
|
|
+ private WxPayConfigDTO notifyConfigInit(PlatformOrderDTO platformOrderDTO, GamePayWayDTO gamePayWayDTO) {
|
|
|
+ //商户信息
|
|
|
+ PayMerchantDTO payMerchantDTO = payMerchantService.getByMerchantNo(platformOrderDTO.getMerchantNo());
|
|
|
+ //支付应用信息
|
|
|
+ PayApplicationDTO payApplicationDTO;
|
|
|
+ //小程序支付, 客服支付, 公众号支付, 关联了盒子
|
|
|
+ if (PayDeviceEnum.getByPayWayIdList().contains(gamePayWayDTO.getPayDeviceId())) {
|
|
|
+ payApplicationDTO = payApplicationService.getPayApplicationByPayBoxId(gamePayWayDTO.getPayBoxId());
|
|
|
+ } else {
|
|
|
+ payApplicationDTO = payApplicationService.getPayApplicationByAppId(gamePayWayDTO.getAppId());
|
|
|
+ }
|
|
|
+ //支付配置参数
|
|
|
+ WxPayConfigDTO payConfigBO = JsonUtil.toObj(payMerchantDTO.getPayConfig(), WxPayConfigDTO.class);
|
|
|
+ payConfigBO.setAppId(payApplicationDTO.getAppId());
|
|
|
+ payConfigBO.setAppSecret(payApplicationDTO.getAppSecret());
|
|
|
+ payConfigBO.setAppletType(payApplicationDTO.getType());
|
|
|
+ payConfigBO.setGamePayWayId(gamePayWayDTO.getId());
|
|
|
+ payConfigBO.setMachName(payMerchantDTO.getMerchantName());
|
|
|
+ //赋值配置信息
|
|
|
+ return payConfigBO;
|
|
|
+ }
|
|
|
}
|