最近在做一个项目,需要使用到支付模块。但是在支付的时候发现需要两个参数,一个是异步通知地址,另一个是返回结果地址。

查阅文档后,也没搞明白什么是异步通知地址。

最近几天终于在试验下搞明白了。

支付的异步请求地址就是在对方支付后,支付系统那边会给你一个地址参数,会拼接到你自己的异步请求地址后面

例如:我目前后端有一个异步请求地址为:localhost:8001/payNotify

后端代码(java):

@ResponseBody
@GetMapping("/payNotify")
public Map<String,String[]> payNotify(HttpServletRequest request){
    // 获取支付宝的请求信息
    Map<String, String[]> requestParams = request.getParameterMap();
    if(requestParams.isEmpty()) {
        // 未获取到参数执行的逻辑
    }
    // 我这里就直接通过json打印输出在界面了,具体逻辑根据情况来完成
    return requestParams;
}

当对方在支付系统支付成功之后,就会转跳到你的异步请求地址上,并带上它给你的参数

http://localhost:8001/payNotify?pid=商户id&trade_no=支付系统的订单号&out_trade_no=你在创建订单时生成的订单号&type=交易类型&name=交易名字&money=金额&trade_status=TRADE_SUCCESS&sign=加密签名&sign_type=加密方式

对于上面这个地址来说,交易状态这个参数非常重要

trade_status=TRADE_SUCCESS

我们就是要根据这个交易状态来判断,用户交易是否成功哦!

最后修改:2022 年 10 月 06 日
如果觉得我的文章对你有用,请随意赞赏