public NormalResult <CreatePayOrderResult> DonationPay(DonationPayArgs args, AuthorizerPayConfig config)
        {
            //创建支付信息
            CreatePayOrderArgs createPayOrderArgs = new CreatePayOrderArgs();

            createPayOrderArgs.MemberId       = args.MemberId;
            createPayOrderArgs.OpenId         = args.OpenId;
            createPayOrderArgs.Fee            = args.Fee;
            createPayOrderArgs.SpbillCreateIp = args.SpbillCreateIp;

            createPayOrderArgs.OrderType  = EnumPayOrderType.Donation;
            createPayOrderArgs.Body       = "在线捐款";
            createPayOrderArgs.OutTradeNo = Guid.NewGuid().ToString().Replace("-", "");
            NormalResult <CreatePayOrderResult> result = _payManager.CreatePayOrder(createPayOrderArgs, config);

            //捐款记录
            Campaign_DonationLogEntity log = new Campaign_DonationLogEntity();

            log.CampaignId  = args.CampaignId;
            log.Domain      = args.DomainId;
            log.PayOrder    = result.Data.PayOrderId;
            log.Member      = args.MemberId;
            log.CreateTime  = DateTime.Now;
            log.Name        = args.Name;
            log.Contact     = args.Contact;
            log.Description = args.Description;
            _campaignManager.DataBase.Insert(log);

            return(result);
        }
        public ActionResult DonationPay()
        {
            DonationPayArgs args = RequestArgs <DonationPayArgs>();

            if (args == null || args.Fee <= 0)
            {
                return(RespondResult(false, "参数无效。"));
            }

            args.Fee = args.Fee * 100;

            args.DomainId       = DomainContext.Domain.Id;
            args.MemberId       = MemberContext.Member.Id;
            args.OpenId         = MemberContext.Member.OpenId;
            args.SpbillCreateIp = Request.UserHostAddress;

            NormalResult <CreatePayOrderResult> depositResult =
                _campaignManager.Donation.DonationPay(args, DomainContext.AuthorizerPay);

            if (depositResult.Success)
            {
                return(RespondDataResult(depositResult));
            }
            else
            {
                return(RespondResult(false, depositResult.Message));
            }
        }