微信支付成功后回调的url可以用webapi写一个post接口吗?

zzyhost 2020-01-15 11:54:32
微信支付成功后,微信会用post方式回调一个url地址,回调函数我想用webpai写一个post接口可以用吗?
如果不可以应该怎么写回调函数呢,我看人家写的回调地址都是带后缀名的,像什么.aspx 或 .php,可用webapi写一个post接口的话那地址就不带后缀名的呀!
...全文
1246 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzyhost 2020-01-16
  • 打赏
  • 举报
回复
引用 1 楼 大西瓜一块五一斤♏ 的回复:
可以啊,只要能调用返回他需要的数据有什么问题
果然可以,再问一个问题,前端怎么知道回调函数执行的结果?比如微信付款成功后回调函数里要进行充值操作写入数据,前端怎么知道回调函数是否执行成功?
KevinXiaohuihui 2022-03-04
  • 举报
回复
@zzyhost 请问一下怎么判断return_code和result_code
zzyhost 2020-01-16
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
可以啊 我当时就是一个webapi 内容如下:
/// <summary>
        /// 支付回调
        /// </summary>
        /// <returns></returns>
        public ActionResult GetPayResult()
        {
            try
            {
                //判断return_code和result_code 是不是 Success
            }
            catch (Exception ex)
            {
                //记录日志
                
            }
            return null ;

        }
果然可以,再问一个问题,前端怎么知道回调函数执行的结果?比如微信付款成功后回调函数里要进行充值操作写入数据,前端怎么知道回调函数是否执行成功?轮询吗?
正怒月神 2020-01-16
  • 打赏
  • 举报
回复
引用 3 楼 zzyhost 的回复:
[quote=引用 2 楼 正怒月神 的回复:] 可以啊 我当时就是一个webapi 内容如下:
/// <summary>
        /// 支付回调
        /// </summary>
        /// <returns></returns>
        public ActionResult GetPayResult()
        {
            try
            {
                //判断return_code和result_code 是不是 Success
            }
            catch (Exception ex)
            {
                //记录日志
                
            }
            return null ;

        }
果然可以,再问一个问题,前端怎么知道回调函数执行的结果?比如微信付款成功后回调函数里要进行充值操作写入数据,前端怎么知道回调函数是否执行成功?轮询吗?[/quote] 一并写了吧。 前端就是你调用 微信的js支付插件 你在function (res)中,通过返回的res值,来判断前端如何操作。 但是微信团队也说了,最好在接收到ok时, 还是调用一下 接口, 看看微信通过GetPayResult()给你的回调信息,是不是支付成功 如下:
$(function () {
        //公众号支付
        jQuery('a#getBrandWCPayRequest').click(function (e) {
            WeixinJSBridge.invoke('getBrandWCPayRequest', {
                "appId": "", //公众号名称,由商户传入
                "timeStamp": "", //时间戳
                "nonceStr": "", //随机串
                "package": "",//扩展包
                "signType": "MD5", //微信签名方式:1.sha1
                "paySign": "" //微信签名
            }, function (res) {
                if (res.err_msg == "get_brand_wcpay_request:ok") {
                    location.href = "../UserReward_WX/Index?orderId="+orderId;
                    //alert("微信支付成功!");
                } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
                    alert("用户取消支付!");
                } else {
                    alert(res.err_msg);
                    alert("支付失败!");
                }
                // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                //因此微信团队建议,当收到ok返回时,向商户后台询问是否收到交易成功的通知,若收到通知,前端展示交易成功的界面;若此时未收到通知,商户后台主动调用查询订单接口,查询订单的当前状态,并反馈给前端展示相应的界面。
            });

        });

    });
正怒月神 2020-01-15
  • 打赏
  • 举报
回复
可以啊 我当时就是一个webapi 内容如下:
/// <summary>
        /// 支付回调
        /// </summary>
        /// <returns></returns>
        public ActionResult GetPayResult()
        {
            try
            {
                //判断return_code和result_code 是不是 Success
            }
            catch (Exception ex)
            {
                //记录日志
                
            }
            return null ;

        }
KevinXiaohuihui 2022-03-03
  • 举报
回复
@正怒月神 请问一下怎么判断return_code和result_code
  • 打赏
  • 举报
回复
可以啊,只要能调用返回他需要的数据有什么问题

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧