コード例 #1
0
 private bool VerifyOrder(AlipayData alipayData, UserPayOrderInfo payOrder)
 {
     if (Convert.ToDecimal(alipayData.GetValue("invoice_amount")) != payOrder.Cost)
     {
         LogHelper.Logger.Error("用户支付的金额与订单预付款金额不一致,交易失败");
         return(false);
     }
     if (!AliPayConfig.PID.Equals(alipayData.GetValue("seller_id")))
     {
         LogHelper.Logger.Error("seller_id不一致,交易失败");
         return(false);
     }
     if (!AliPayConfig.APPID.Equals(alipayData.GetValue("app_id")))
     {
         LogHelper.Logger.Error("app_id不一致,交易失败");
         return(false);
     }
     return(true);
 }
コード例 #2
0
        public IList <UserPayOrderInfo> GetNeedQueryOrderList(PayMode mobileWeb)
        {
            using (System.Data.Common.DbCommand cmd = Context.Database.Connection.CreateCommand())
            {
                try
                {
                    var orderList = new List <UserPayOrderInfo>();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "P_PAY_QueryUnclosedPayOrderInfos";
                    cmd.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@PayMode",
                        Value         = (int)mobileWeb
                    });
                    if (cmd.Connection.State != ConnectionState.Open)
                    {
                        cmd.Connection.Open();
                    }

                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var order = new UserPayOrderInfo();
                            order.CreateTime = Convert.ToDateTime(reader["CreateTime"]);
                            order.PayAppID   = reader["PayAppID"].ToString();
                            order.State      = Convert.ToInt32(reader["State"]);
                            order.UId        = Convert.ToInt32(reader["UID"]);
                            order.Id         = reader["ID"].ToString();
                            order.PayType    = Convert.ToInt32(reader["PayType"]);
                            orderList.Add(order);
                        }
                    }

                    return(orderList);
                }
                catch (Exception ex)
                {
                    LogHelper.Logger.Error(ex.Message);
                    return(null);
                }
            }
        }
コード例 #3
0
        private void WechatPayOrderService(ref int count1, ref int count2, UserPayOrderInfo order)
        {
            var orderId = WxPayConfig.MCHID + order.Id.Trim();
            var payData = _orderPolicy.Orderquery(orderId, OrderType.OutTradeNo);

            if (payData.GetValue("return_code").ToString() != "SUCCESS" ||
                payData.GetValue("result_code").ToString() != "SUCCESS")
            {
                //订单查询失败,
                order.UpdateTime    = DateTime.Now;
                order.PayExtendInfo = "未查询到订单的支付信息,直接关闭该订单";
                order.State         = 3;
                order.PayState      = "NOPAY";
                //_purchaseService.FailServiceOrder(new UpdateServiceOrder()
                //{
                //    ID = order.Id,
                //    PayState = payData.GetValue("return_code").ToString(),
                //    PayExtendInfo = "未查询到订单,直接关闭该订单",
                //    State = 3,

                //});
                _userpayOrderRepository.Update(order);
                count1++;
            }
            else
            {
                if (order.GoodsType == 0)
                {
                    string msg = string.Empty;
                    _rechargeService.CompleteRechargeOrder(payData, out msg);
                    LogHelper.Logger.Info(msg);
                }
                else
                {
                    _purchaseService.CompleteServiceOrder(payData);
                }

                count2++;
            }
        }
コード例 #4
0
        private void AliPayOrderService(ref int count1, ref int count2, UserPayOrderInfo order)
        {
            var alipayData = _orderPolicy.AliOrderQuery(order.Id, OrderType.OutTradeNo);

            _alipayPurchaseService.UpdateAliPayOrder(alipayData);
        }