增加支付宝 QR 支付的回调

This commit is contained in:
YunaiV 2021-11-03 09:05:04 +08:00
parent 696e94a1a3
commit aa77eb029f
3 changed files with 21 additions and 2 deletions

View File

@ -53,6 +53,7 @@ public class AlipayQrPayClient extends AbstractPayClient<AlipayPayClientConfig>
// 构建 AlipayTradePrecreateRequest
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizModel(model);
request.setNotifyUrl(reqDTO.getNotifyUrl());
// 执行请求
AlipayTradePrecreateResponse response;

View File

@ -13,6 +13,7 @@ import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayWapPayClient
import cn.iocoder.yudao.framework.pay.core.client.impl.wx.WXPayClientConfig;
import cn.iocoder.yudao.framework.pay.core.client.impl.wx.WXPubPayClient;
import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
import com.alipay.api.response.AlipayTradePrecreateResponse;
import org.junit.jupiter.api.Test;
import java.io.FileInputStream;
@ -75,6 +76,7 @@ public class PayClientFactoryImplTest {
* {@link AlipayQrPayClient}
*/
@Test
@SuppressWarnings("unchecked")
public void testCreatePayClient_ALIPAY_QR() {
// 创建配置
AlipayPayClientConfig config = new AlipayPayClientConfig();
@ -89,8 +91,10 @@ public class PayClientFactoryImplTest {
PayClient client = payClientFactory.getPayClient(channelId);
// 发起支付
PayOrderUnifiedReqDTO reqDTO = buildPayOrderUnifiedReqDTO();
CommonResult<?> result = client.unifiedOrder(reqDTO);
reqDTO.setNotifyUrl("http://niubi.natapp1.cc/api/pay/order/notify/alipay-qr/1"); // TODO @tina: 这里改成你的 natapp 回调地址
CommonResult<AlipayTradePrecreateResponse> result = (CommonResult<AlipayTradePrecreateResponse>) client.unifiedOrder(reqDTO);
System.out.println(JsonUtils.toJsonString(result));
System.out.println(result.getData().getQrCode());
}
/**

View File

@ -51,11 +51,25 @@ public class PayOrderController {
// ========== 支付渠道的回调 ==========
@PostMapping("/notify/wx-pub/{channelId}")
@ApiOperation("通知微信公众号的结果")
@ApiOperation("通知微信公众号支付的结果")
public String notifyWxPayOrder(@PathVariable("channelId") Long channelId,
@RequestBody String xmlData) throws Exception {
payOrderCoreService.notifyPayOrder(channelId, PayChannelEnum.WX_PUB.getCode(), xmlData);
return "success";
}
@PostMapping("/notify/alipay-qr/{channelId}")
@ApiOperation("通知支付宝扫码支付的结果")
public String notifyAlipayQrPayOrder(@PathVariable("channelId") Long channelId,
@RequestBody String data) {
return "success";
}
@RequestMapping("/notify/test")
@ApiOperation("通知的测试接口")
public String notifyTest() {
// System.out.println(data);
return "success";
}
}