diff --git a/yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/impl/PayOrderCoreServiceImpl.java b/yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/impl/PayOrderCoreServiceImpl.java index 17f7885fb..b2418dbef 100644 --- a/yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/impl/PayOrderCoreServiceImpl.java +++ b/yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/pay/service/order/impl/PayOrderCoreServiceImpl.java @@ -130,7 +130,7 @@ public class PayOrderCoreServiceImpl implements PayOrderCoreService { // 商户相关字段 unifiedOrderReqDTO.setMerchantOrderId(order.getMerchantOrderId()) .setSubject(order.getSubject()).setBody(order.getBody()) - .setNotifyUrl(genChannelPayNotifyUrl(reqDTO.getChannelCode())); + .setNotifyUrl(genChannelPayNotifyUrl(channel)); // 订单相关字段 unifiedOrderReqDTO.setAmount(order.getAmount()).setExpireTime(order.getExpireTime()); CommonResult unifiedOrderResult = client.unifiedOrder(unifiedOrderReqDTO); @@ -145,12 +145,13 @@ public class PayOrderCoreServiceImpl implements PayOrderCoreService { /** * 根据支付渠道的编码,生成支付渠道的回调地址 * - * @param channelCode 支付渠道的编码 + * @param channel 支付渠道 * @return 支付渠道的回调地址 */ - private String genChannelPayNotifyUrl(String channelCode) { + private String genChannelPayNotifyUrl(PayChannelDO channel) { // _ 转化为 - 的原因,是因为 URL 我们统一采用中划线的原则 - return payProperties.getPayNotifyUrl() + "/" + StrUtil.replace(channelCode, "_", "-"); + return payProperties.getPayNotifyUrl() + "/" + StrUtil.replace(channel.getCode(), "_", "-") + + "/" + channel.getId(); } private String generateOrderExtensionNo() { diff --git a/yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayOrderController.java b/yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayOrderController.java index 8f8dad0f1..aae04ece8 100644 --- a/yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayOrderController.java +++ b/yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/modules/pay/controller/order/PayOrderController.java @@ -49,9 +49,10 @@ public class PayOrderController { // ========== 支付渠道的回调 ========== - @PostMapping("/notify/wx-pub") + @PostMapping("/notify/wx-pub/{channelId}") @ApiOperation("通知微信公众号的结果") - public String notifyWxPayOrder(@RequestBody String xmlData) { + public String notifyWxPayOrder(@PathVariable("channelId") Long channelId, + @RequestBody String xmlData) { System.out.println(xmlData); return "success"; }