/// <summary> /// 通过微信支付充值 /// </summary> /// <param name="args"></param> /// <param name="config"></param> /// <returns></returns> public NormalResult <CreatePayOrderResult> Deposit(CashAccountDepositArgs 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.Deposit; createPayOrderArgs.Body = "会员充值"; createPayOrderArgs.OutTradeNo = Guid.NewGuid().ToString().Replace("-", ""); NormalResult <CreatePayOrderResult> result = CreatePayOrder(createPayOrderArgs, config); return(result); }
public ActionResult Deposit() { CashAccountDepositArgs args = RequestArgs <CashAccountDepositArgs>(); if (args == null || args.Fee <= 0) { return(RespondResult(false, "参数无效。")); } args.Fee = args.Fee * 100; args.MemberId = MemberContext.Member.Id; args.OpenId = MemberContext.Member.OpenId; args.SpbillCreateIp = Request.UserHostAddress; NormalResult <CreatePayOrderResult> depositResult = _payManager.Deposit(args, DomainContext.AuthorizerPay); if (depositResult.Success) { WxPayData jsApiParam = new WxPayData(DomainContext.AuthorizerPay.Key); jsApiParam.SetValue("appId", DomainContext.AppId); jsApiParam.SetValue("timeStamp", WeixinApiHelper.GetTimesTamp().ToString()); jsApiParam.SetValue("nonceStr", WeixinApiHelper.GetNonceStr()); jsApiParam.SetValue("package", "prepay_id=" + depositResult.Data.PrepayId); jsApiParam.SetValue("signType", "MD5"); jsApiParam.SetValue("paySign", jsApiParam.MakeSign()); string parameters = jsApiParam.ToJson(); //WeixinPayGetBrandWCPayRequestArgs result = new WeixinPayGetBrandWCPayRequestArgs(); //result.AppId = this.DomainContext.AppId; //result.TimeStamp = WeixinApiHelper.GetTimesTamp().ToString(); //result.NonceStr = WeixinApiHelper.GetNonceStr(); //result.Package = "prepay_id=" + depositResult.Data.PrepayId; //result.SignType = "MD5"; return(RespondDataResult(parameters)); } else { return(RespondResult(false, depositResult.Message)); } }