예제 #1
0
 public async Task ExecuteAsync(HttpContext context)
 {
     try
     {
         var body = (await context.Request.ReadFormAsync()).AsNameValueCollection();
         if (body?.Count == 0)
         {
             throw new ArgumentNullException(nameof(body));
         }
         var request = new WapPayRequest();
         request.AddParameters(new WapPayModel()
         {
             Body       = body.Get("Body"),
             OutTradeNo = body.Get("Out_Trade_No"),
             TotalFee   = int.Parse(body.Get("Total_Amount"))
         });
         await context.Response.WriteAsync((await _client.ExecuteAsync(request)).ToJson());
     }
     catch (Exception ex)
     {
         context.Response.StatusCode = StatusCodes.Status500InternalServerError;
         await context.Response.WriteAsync(ex.Message);
     }
     context.Response.ContentType = "application/json; charset=UTF-8";
     await context.Response.Body.FlushAsync();
 }
예제 #2
0
        public async Task <OkObjectResult> WapPay(string Body, string Out_Trade_No, int Total_Amount)
        {
            var request = new WapPayRequest();

            request.AddParameters(new WapPayModel()
            {
                Body       = Body,
                OutTradeNo = Out_Trade_No,
                TotalFee   = Total_Amount
            });
            return(Ok(await _client.ExecuteAsync(request)));
        }
예제 #3
0
        /// <summary>
        ///     手机网站支付
        /// </summary>
        /// <returns></returns>
        public async Task <OkObjectResult> WapPay(string body, string outTradeNo, int totalAmount)
        {
            var request = new WapPayRequest();

            request.AddParameters(new
            {
                Body        = body,
                OutTradeNo  = outTradeNo,
                TotalAmount = totalAmount,
                Subject     = "测试app支付标题"
            });
            return(Ok(await _client.ExecuteAsync(request)));
        }
예제 #4
0
        public IActionResult WapPay(string order_id, int total_amount)
        {
            var request = new WapPayRequest();

            request.AddGatewayData(new WapPayModel()
            {
                TotalAmount = total_amount,
                OrderId     = order_id
            });

            var response = _gateway.Execute(request);

            return(Content(response.Html, "text/html", Encoding.UTF8));
        }
        public ActionResult WapPay(string out_trade_no, int total_amount, string body, string scene_info)
        {
            var request = new WapPayRequest();

            request.AddGatewayData(new WapPayModel()
            {
                Body        = body,
                TotalAmount = total_amount,
                OutTradeNo  = out_trade_no,
                SceneInfo   = scene_info
            });

            var response = _gateway.Execute(request);

            return(Json(response));
        }
예제 #6
0
        public IActionResult WapPay(string out_trade_no, string subject, double total_amount, string body)
        {
            var request = new WapPayRequest();

            request.AddGatewayData(new WapPayModel()
            {
                Body        = body,
                TotalAmount = total_amount,
                Subject     = subject,
                OutTradeNo  = out_trade_no
            });

            var response = _gateway.Execute(request);

            return(Redirect(response.Url));
        }
예제 #7
0
        public void TestWapPay()
        {
            var request = new WapPayRequest();

            request.AddGatewayData(new WapPayModel()
            {
                TotalAmount = 1,
                Subject     = "支付宝手机网站支付测试",
                OutTradeNo  = _outTradeNo
            });

            var response = _alipayGateway.Execute(request);

            _output.WriteLine(response.Url);
            string result = HttpUtil.Get(response.Url);

            Assert.Contains("支付宝", result);
        }
예제 #8
0
 public WapPayResponse(WapPayRequest request)
 {
     Url = $"{request.RequestUrl}&{request.GatewayData.ToUrl()}";
 }
예제 #9
0
 public WebPayResponse(WapPayRequest request)
 {
     Html = request.ToForm(request.RequestUrl);
 }
예제 #10
0
 public WapPayResponse(WapPayRequest request)
 {
     Html = request.GatewayData.ToForm(request.RequestUrl);
 }
예제 #11
0
 public WapPayResponse(WapPayRequest request)
 {
     Url = $"{request.Url}&{request.Data.ToUrl()}";
 }