Exemplo n.º 1
0
        /// <summary>
        /// 检查
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public override bool Check(PaylineEntity info)
        {
            if (string.IsNullOrEmpty(info.OutNumber) || info.Status != PaylineStatusType.Waiting || string.IsNullOrEmpty(info.Number))
            {
                return(false);
            }
            var result = GetPayResult(info.Number);

            if (result == null || !result.ContainsKey("trade_state"))
            {
                return(false);
            }
            if (result["trade_state"] == "USERPAYING")
            {
                return(false);
            }
            if (result["trade_state"] == "SUCCESS")
            {
                info.Status = PaylineStatusType.Success;
            }
            else
            {
                info.Status = PaylineStatusType.Failure;
            }
            info.OutNumber = result.ContainsKey("transaction_id") ? result["transaction_id"] : "";
            info.SaveType  = SaveType.Modify;
            info.SetProperty(it => it.Status);
            info.SetProperty(it => it.OutNumber);
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 处理接口
        /// </summary>
        /// <returns></returns>
        public virtual PaylineEntity Process()
        {
            var inputparas = GetResponse();
            var info       = new PaylineEntity
            {
                Number    = HttpContext.Current.Request["Number"],
                OutNumber = HttpContext.Current.Request["OutNumber"],
                Status    = VerifyProcess(inputparas) ? PaylineStatusType.Success : PaylineStatusType.Failure
            };

            info.SetProperty(it => it.OutNumber);
            info.SetProperty(it => it.Status);
            info.SaveType = SaveType.Modify;
            return(info);
        }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 public virtual bool Check(PaylineEntity info)
 {
     if (info.Status == PaylineStatusType.Waiting)
     {
         info.Status   = PaylineStatusType.Failure;
         info.SaveType = SaveType.Modify;
         info.SetProperty(it => it.Status);
     }
     return(true);
 }
Exemplo n.º 4
0
        /// <summary>
        /// 检查
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public override bool Check(PaylineEntity info)
        {
            if (string.IsNullOrEmpty(info.OutNumber) || info.Status != PaylineStatusType.Waiting || string.IsNullOrEmpty(info.Number))
            {
                return(false);
            }
            var result = GetPayResult(info.Number);

            if (string.IsNullOrEmpty(result) || result == "WAIT_BUYER_PAY")
            {
                return(false);
            }
            if (result == "TRADE_SUCCESS" || result == "TRADE_FINISHED")
            {
                info.Status = PaylineStatusType.Success;
            }
            else
            {
                info.Status = PaylineStatusType.Failure;
            }
            info.SaveType = SaveType.Modify;
            info.SetProperty(it => it.Status);
            return(true);
        }