C# xorpay 生成支付二维码 和 回调业务处理

     / // <summary>
        /// post 生成支付订单
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        public static dynamic PostGetPayCode_New(PayOrder order)
        {
            string str = string.Empty;
            Dictionary<string, object> dir = new Dictionary<string, object>();
            dir.Add("name", order.Title);
            dir.Add("pay_type", "alipay");
            dir.Add("price", order.PayAmount);
            dir.Add("order_id", order.OrderNo);
            dir.Add("notify_url", _callBack_Url);
            foreach (var item in dir)
            {
                str += item.Value;
            }
            string sign = MD5Encryption.Encryption(str+_appSecretKey);
            dir.Add("order_uid", order.OrderUserId);
            dir.Add("expire", _expire_In);
            dir.Add("more",order.More);
            dir.Add("sign", sign);
            var url = $"{_pay_Code_api}{_app_Id}";
            var resData = HttpHelper.PostData(url, dir);
            //{ "status": "ok", "info": { "qr": "https://qr.alipay.com/bax01068kxbbcz2r799i007c"}, "expires_in": "900", "aoid": "67736d7057d6465791c24a513afb52a7"}
            return JsonConvert.DeserializeObject<dynamic>(resData);
        }
      

 

   

 #region 支付回调
        /// <summary>
        /// 支付回调
        /// </summary>
        /// <returns></returns>
        public ApiResponse Pay_CallBack()
        {
            try
            {
                string aoid = HttpContextCore.Current.Request.Form["aoid"];
                string detail = HttpContextCore.Current.Request.Form["detail"];
                string more = HttpContextCore.Current.Request.Form["more"]; ;
                string order_id = HttpContextCore.Current.Request.Form["order_id"];
                string pay_price = HttpContextCore.Current.Request.Form["pay_price"];
                string pay_time = HttpContextCore.Current.Request.Form["pay_time"];
                string sign = HttpContextCore.Current.Request.Form["sign"];

                _logger.Info(LogType.订单支付跟踪, "----------订单回调通知接收参数----------");
                _logger.Info(LogType.订单支付跟踪, $"aoid:{aoid},detail:{detail},more:{more},order_id:{order_id},pay_price:{pay_price},pay_time:{pay_time},sign:{sign}");
                //获取回调参数

                if (!string.IsNullOrWhiteSpace(sign))
                {
                    string parameters = $"{aoid}{order_id}{pay_price}{pay_time}";
                    //验证签名
                    if (FuBeiHelper.CheckNotify_New(parameters, sign))
                    {
                        if (!string.IsNullOrWhiteSpace(more))
                        {
                            var dyn = JsonConvert.DeserializeObject<ContentInfo>(more);
                            //业务逻辑处理
                        }
                    }
                }
                return Success();
            }
            catch (Exception ex)
            {
                return Error("支付回调业务处理异常");
            }
        }
        #endregion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值