支付宝支付返回之坑

我是使用支付宝sdk的demo直接开发,期间产品上线之后一直有支付失败但是记录日志里有支付成功的记录,之后也和支付宝支付人员沟通过,通过查询支付宝接口返回的信息发现是支付关闭。之后很长时间在复现这个问题。

先上代码

/// 
        /// 提交支付请求
        /// 
        /// 
        /// 
        public void Alipay_RSA_Submit()
        {

            AlipayTradePayContentBuilder builder = BuildPayContent();
            string out_trade_no = builder.out_trade_no;

            Com.Alipay.Business.AlipayF2FPayResult payResult = serviceClient.tradePay(builder);

            switch (payResult.Status)
            {
                case ResultEnum.SUCCESS:
                    DoSuccessProcess(payResult);
                    break;
                case ResultEnum.FAILED:
                    DoFailedProcess(payResult);
                    break;
                case ResultEnum.UNKNOWN:
                    result = "网络异常,请检查网络配置后,更换外部订单号重试";
                    break;
            }
            //Response.Redirect("result.aspx?Text=" + result);
        }

   /// 
        /// 请添加支付失败后的处理
        /// 
        private void DoFailedProcess(AlipayF2FPayResult payResult)
        {
            //请添加支付失败后的处理
            System.Console.WriteLine("支付失败");
            result = payResult.response.Body;
        }

在支付失败之后的处理中payResult.response.Body仍会返回Success,so到这一步找到坑。大家只需要在这里处理失败的代码重写就OK了

你可能感兴趣的:(支付宝支付,asp.net)