コード例 #1
0
ファイル: AlipayController.cs プロジェクト: hua1122/Payment
        public async Task <IActionResult> PreCreate(string out_trade_no, string subject, string total_amount, string body, string notify_url = "")
        {
            var model = new AlipayTradePrecreateModel
            {
                OutTradeNo  = out_trade_no,
                Subject     = subject,
                TotalAmount = total_amount,
                Body        = body
            };
            var req = new AlipayTradePrecreateRequest();

            req.SetBizModel(model);
            req.SetNotifyUrl(notify_url);

            var response = await _client.ExecuteAsync(req);

            ResponseModel responseModel = new ResponseModel()
            {
                code = HTTPResponseCode.PartialContent,
                data = response.Body
            };

            if (response.IsError)
            {
                responseModel.code    = HTTPResponseCode.BadRequest;
                responseModel.message = response.Msg;
            }
            else
            {
                responseModel.code = HTTPResponseCode.Successful;
            }
            return(Json(responseModel));
        }
コード例 #2
0
ファイル: AlipayManager.cs プロジェクト: Newxml/AlipayMent
        /// <summary>
        /// 获取会员基础信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <AuthDto> GetAuthAsync(string code)
        {
            var options = new AlipayOptions();

            options.AppId           = "";
            options.AppPrivateKey   = "";
            options.AlipayPublicKey = "";
            var req = new AlipaySystemOauthTokenRequest()
            {
                Code         = code,
                RefreshToken = "",
                GrantType    = "authorization_code"
            };

            AlipaySystemOauthTokenResponse response = await _alipayClient.ExecuteAsync(req, options);

            if (response.IsError)
            {
                throw new UserFriendlyException(response.SubMsg);
            }

            var dto = new AuthDto();

            dto.AccessToken   = response.AccessToken;
            dto.AuthTokenType = response.AuthTokenType;
            dto.ExpiresIn     = response.ExpiresIn;
            dto.ReExpiresIn   = response.ReExpiresIn;
            dto.RefreshToken  = response.RefreshToken;
            dto.UserId        = response.UserId;
            return(dto);
        }
コード例 #3
0
        public async Task <IActionResult> PreCreate(AlipayTradePreCreateViewModel viewModel)
        {
            if (_Interceptor != null)
            {
                return(Ok("this is _Interceptor"));
            }
            var model = new AlipayTradePrecreateModel
            {
                OutTradeNo  = viewModel.OutTradeNo,
                Subject     = viewModel.Subject,
                TotalAmount = viewModel.TotalAmount,
                Body        = viewModel.Body
            };
            var req = new AlipayTradePrecreateRequest();

            req.SetBizModel(model);
            req.SetNotifyUrl(viewModel.NotifyUrl);

            //var response = await _client.CertificateExecuteAsync(req, _optionsAccessor.Value);
            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);

            ViewData["qrcode"]   = response.QrCode;
            ViewData["response"] = response.Body;
            return(View());
        }
コード例 #4
0
        //扫码支付
        public override async Task <AlipayReponse> ExecuteAsync(TradeModel request, ServerCallContext context)
        {
            var model = new AlipayTradePrecreateModel
            {
                OutTradeNo  = request.OutTradeNo,
                Subject     = request.Subject,
                TotalAmount = request.TotalAmount,
                Body        = request.Body
            };



            var req = new AlipayTradePrecreateRequest();

            req.SetBizModel(model);
            req.SetNotifyUrl("http://domain.com/alipay/notify/precreate");

            var response = await _client.ExecuteAsync(req, _optionsAccessor.Value);

            return(new AlipayReponse
            {
                Message = response.Body,
                Qrcode = response.QrCode
            });

            //return base.ExecuteAsync(request, context);
        }
コード例 #5
0
ファイル: AlipayService.cs プロジェクト: ym1100/AceSaaS
        // 当面付/扫码支付
        public async Task <AlipayTradePrecreateResponse> PreCreate(PayRequest request)
        {
            var order = OrderService.Get(request.Id);
            var model = new AlipayTradePrecreateModel
            {
                OutTradeNo  = order.Order_SN,
                Subject     = order.Name,
                TotalAmount = order.Order_Money.ToString("n"),
                Body        = order.Remark
            };

            var req = new AlipayTradePrecreateRequest();

            req.SetBizModel(model);
            req.SetNotifyUrl(request.NotifyUrl);

            return(await client.ExecuteAsync(req, options.Value));
        }
コード例 #6
0
        public async Task <IActionResult> PreCreate(AlipayTradePreCreateViewModel viewModel)
        {
            var model = new AlipayTradePrecreateModel
            {
                OutTradeNo  = viewModel.OutTradeNo,
                Subject     = viewModel.Subject,
                TotalAmount = viewModel.TotalAmount,
                Body        = viewModel.Body
            };
            var req = new AlipayTradePrecreateRequest();

            req.SetBizModel(model);
            req.SetNotifyUrl(viewModel.NotifyUrl);

            var response = await _client.ExecuteAsync(req);

            ViewData["qrcode"]   = response.QrCode;
            ViewData["response"] = response.Body;
            return(View());
        }