增加支付回调地址的配置

This commit is contained in:
YunaiV 2021-10-25 10:04:11 +08:00
parent 20628987c9
commit bac30d47b7
2 changed files with 8 additions and 6 deletions

View File

@ -130,7 +130,7 @@ public class PayOrderCoreServiceImpl implements PayOrderCoreService {
// 商户相关字段 // 商户相关字段
unifiedOrderReqDTO.setMerchantOrderId(order.getMerchantOrderId()) unifiedOrderReqDTO.setMerchantOrderId(order.getMerchantOrderId())
.setSubject(order.getSubject()).setBody(order.getBody()) .setSubject(order.getSubject()).setBody(order.getBody())
.setNotifyUrl(genChannelPayNotifyUrl(reqDTO.getChannelCode())); .setNotifyUrl(genChannelPayNotifyUrl(channel));
// 订单相关字段 // 订单相关字段
unifiedOrderReqDTO.setAmount(order.getAmount()).setExpireTime(order.getExpireTime()); unifiedOrderReqDTO.setAmount(order.getAmount()).setExpireTime(order.getExpireTime());
CommonResult<?> unifiedOrderResult = client.unifiedOrder(unifiedOrderReqDTO); CommonResult<?> unifiedOrderResult = client.unifiedOrder(unifiedOrderReqDTO);
@ -145,12 +145,13 @@ public class PayOrderCoreServiceImpl implements PayOrderCoreService {
/** /**
* 根据支付渠道的编码生成支付渠道的回调地址 * 根据支付渠道的编码生成支付渠道的回调地址
* *
* @param channelCode 支付渠道的编码 * @param channel 支付渠道
* @return 支付渠道的回调地址 * @return 支付渠道的回调地址
*/ */
private String genChannelPayNotifyUrl(String channelCode) { private String genChannelPayNotifyUrl(PayChannelDO channel) {
// _ 转化为 - 的原因是因为 URL 我们统一采用中划线的原则 // _ 转化为 - 的原因是因为 URL 我们统一采用中划线的原则
return payProperties.getPayNotifyUrl() + "/" + StrUtil.replace(channelCode, "_", "-"); return payProperties.getPayNotifyUrl() + "/" + StrUtil.replace(channel.getCode(), "_", "-")
+ "/" + channel.getId();
} }
private String generateOrderExtensionNo() { private String generateOrderExtensionNo() {

View File

@ -49,9 +49,10 @@ public class PayOrderController {
// ========== 支付渠道的回调 ========== // ========== 支付渠道的回调 ==========
@PostMapping("/notify/wx-pub") @PostMapping("/notify/wx-pub/{channelId}")
@ApiOperation("通知微信公众号的结果") @ApiOperation("通知微信公众号的结果")
public String notifyWxPayOrder(@RequestBody String xmlData) { public String notifyWxPayOrder(@PathVariable("channelId") Long channelId,
@RequestBody String xmlData) {
System.out.println(xmlData); System.out.println(xmlData);
return "success"; return "success";
} }