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); }
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); } } }
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++; } }
private void AliPayOrderService(ref int count1, ref int count2, UserPayOrderInfo order) { var alipayData = _orderPolicy.AliOrderQuery(order.Id, OrderType.OutTradeNo); _alipayPurchaseService.UpdateAliPayOrder(alipayData); }