示例#1
0
        private GpuOrder CreateRemoteOrder()
        {
            if (this._user == null)
            {
                Alert("用户信息不能为空");
                return(null);
            }
            int     storeId  = Winner.ConfigurationManager.ConfigurationProvider.GetInt("GPU.STORE_ID");
            string  safeCode = Winner.ConfigurationManager.ConfigurationProvider.GetString("GPU.SAFECODE");
            PayUnit payunit  = new PayUnit
            {
                Amount       = (int)(this._currency.ConvertTo(CurrencyType.RMB, 2).Amount * 100),
                DeathTime    = null,
                OrderNo      = this._orderNo,
                NotifyUrl    = this._notifyUrl,
                PayType      = (int)_payType,
                PrivateValue = this._privateValue,
                ReturnUrl    = this._returnUrl,
                StoreId      = storeId,
                Subject      = this._subject,
                UserCode     = this._user.UserCode,
                BusinessType = (int)this._bizType,
                UserName     = this._user.UserName,
            };
            var proxy = PaymentFactory.GetTradeObject(storeId.ToString(), safeCode);
            FuncResult <Order> result = proxy.CreateOrder(payunit);

            if (result == null)
            {
                Alert("远程订单创建失败");
                return(null);
            }
            if (!result.Success)
            {
                Alert(result.Message);
                return(null);
            }
            GpuOrder order = new GpuOrder
            {
                Voucher  = result.Content.RetriveCode,
                Order_No = result.Content.MerOrderNo,
                Amount   = result.Content.Amount,
                PayUrl   = result.Content.PayUrl
            };

            return(order);
        }