• 微信支付JSAPI支付V3支付通知接口


    首先我们会在配置支付请求参数的时候,配置了回调地址(notify_url),支付完成微信服务器就会将结果推送到这个地址上,我们只是需要获取那些数据就可以了,然后根据处理相关业务。

    后台代码:

            /// <summary>
            /// 微信服务器支付结果通知接口
            /// </summary>
            /// <returns></returns>
            public ActionResult PayNotifyUrl()
            {
    
                Senparc.Weixin.MP.TenPayLibV3.ResponseHandler payNotifyRepHandler = new Senparc.Weixin.MP.TenPayLibV3.ResponseHandler(null);
    
                payNotifyRepHandler.SetKey(Key);
    
                //返回的参数
                string return_code = payNotifyRepHandler.GetParameter("return_code");//返回状态码
                string return_msg = payNotifyRepHandler.GetParameter("return_msg");//返回信息
    
                string xml = string.Format(@"<xml><return_code><![CDATA[{0}]]></return_code><return_msg><![CDATA[{1}]]></return_msg></xml>", return_code, return_msg);
           
                //支付失败直接返回
                if (return_code.ToUpper()!="SUCCESS")
                {
                    return Content(xml, "text/xml");
                }
    
                //因为微信服务器会多次推送通知到这里,所以需要在这里判断订单是否已经完成支付,如果完成,则不进行下面操作
    
                string out_trade_no = payNotifyRepHandler.GetParameter("out_trade_no");//商户订单号
    //验证请求是否从微信发过来(安全) if (payNotifyRepHandler.IsTenpaySign()) { //正确的订单处理 } else { //错误的订单处理 } return Content(xml, "text/xml"); }
  • 相关阅读:
    你是一直认为 count(1) 比 count(*) 效率高么?
    php 判断是不是https链接
    php 版本比较
    php 执行效率
    redis 队列缓存 + mysql 批量入库 + php 离线整合
    php 高并发下数据同步的问题
    一个合格的工程师的知识结构
    php 代码编写的格式
    php 四种基础算法 ---- 快速排序法
    php 四种基础算法 ---- 插入排序法
  • 原文地址:https://www.cnblogs.com/rockchen/p/4479003.html
Copyright © 2020-2023  润新知