コード例 #1
0
        private void btnPay_Click(object sender, System.EventArgs e)
        {
            string value  = this.hdorderId.Value;
            int    modeId = 0;

            int.TryParse(this.dropPayType.SelectedValue, out modeId);
            PaymentModeInfo paymentMode = TradeHelper.GetPaymentMode(modeId);

            if (paymentMode != null)
            {
                OrderInfo orderInfo = TradeHelper.GetOrderInfo(value);
                orderInfo.PaymentTypeId = paymentMode.ModeId;
                orderInfo.PaymentType   = paymentMode.Name;
                orderInfo.Gateway       = paymentMode.Gateway;
                TradeHelper.UpdateOrderPaymentType(orderInfo);
                orderInfo = TradeHelper.GetOrderInfo(value);
            }

            try
            {
                List <OrderInfo> listChildOrder = ShoppingProcessor.GetChildOrdersBySourceOrder(value);
                string           orderIdstr     = "";
                List <string>    orderIdIdList  = new List <string>();
                if (listChildOrder != null && listChildOrder.Count > 0)
                {
                    listChildOrder.ForEach(t =>
                    {
                        //单品券
                        if (!string.IsNullOrWhiteSpace(t.OrderId))
                        {
                            string ordeId = "'" + t.OrderId + "'";
                            orderIdIdList.Add(ordeId);
                        }
                    });
                }

                if (orderIdIdList != null && orderIdIdList.Count > 0)
                {
                    orderIdstr = string.Join(",", orderIdIdList.Distinct().ToArray());
                }

                if (!string.IsNullOrWhiteSpace(orderIdstr))
                {
                    if (paymentMode != null)
                    {
                        OrderInfo orderInfo = new OrderInfo();
                        orderInfo.PaymentTypeId = paymentMode.ModeId;
                        orderInfo.PaymentType   = paymentMode.Name;
                        orderInfo.Gateway       = paymentMode.Gateway;
                        TradeHelper.ModifyOrderPaymentType(orderInfo, orderIdstr);
                    }
                }
            }
            catch
            {
            }

            //判断为微信扫码支付
            //if (paymentMode.Settings == "1hSUSkKQ/ENo0JDZah8KKQweixin")
            if (paymentMode.Gateway.ToLower() == "Ecdev.plugins.payment.WxpayQrCode.QrCodeRequest".ToLower())
            {
                Member member = Users.GetUser(HiContext.Current.User.UserId, false) as Member;
                this.Page.Response.Redirect("/FinishOrder.aspx?orderId=" + value + "&umid=" + member.UserId.ToString());
            }
            else
            {
                this.Page.Response.Redirect(Globals.GetSiteUrls().UrlData.FormatUrl("sendPayment", new object[]
                {
                    value
                }));
            }
        }