예제 #1
0
        /// <summary>
        /// 获取Web支付参数(一个from表单)
        /// </summary>
        public string GetWebPayParameter(decimal amount, string orderNo, string subject, string body, string passbackParams = null)
        {
            string parameter = string.Empty;

            //组装业务参数
            var model = new AlipayTradeWapPayModel()
            {
                Body           = body,
                Subject        = subject,
                TotalAmount    = amount.ToString(),
                OutTradeNo     = orderNo,
                ProductCode    = ProductCode,
                QuitUrl        = QuitUrl,
                PassbackParams = HttpUtility.UrlEncode(passbackParams)
            };

            var request = new AlipayTradeWapPayRequest();

            request.SetBizModel(model);
            request.SetReturnUrl(ReturnUrl); // 支付中途退出返回商户网站地址
            request.SetNotifyUrl(NotifyUrl); // 设置支付完成异步通知接收地址

            AlipayTradeWapPayResponse response = aopClient.pageExecute(request, null, "post");

            if (response != null && response.Code == "10000")
            {
                parameter = response.Body;
            }

            //记日志response.ToJson();

            return(parameter);
        }
예제 #2
0
        public void QueryBody()
        {
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = "{" +
                                 "\"out_trade_no\":\"\"," +
                                 "\"trade_no\":\"2018020121001004630200415086\"" +
                                 "}";
            AlipayTradeQueryResponse response = client.pageExecute(request);

            System.Web.HttpContext.Current.Response.Write(response.Body);
        }
예제 #3
0
        public bool Wappay(AlipayOrderOptions options, out string msg)
        {
            //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.open.public.template.message.industry.modify
            AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();

            //SDK已经封装掉了公共参数,这里只需要传入业务参数
            request.SetNotifyUrl(AliPayConfig.NOTIFY_URL);
            request.SetReturnUrl(AliPayConfig.RETURN_URL);
            LogHelper.Logger.Debug(AliPayConfig.NOTIFY_URL);
            request.BizContent = options.ToJson();
            string form = _aopClient.pageExecute(request).Body;

            msg = form;
            return(true);
        }
예제 #4
0
        public string BuildWapPaymentUrl(Dictionary <string, string> map)
        {
            IAopClient alipayClient = GetAopClient();
            AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();

            alipayRequest.SetReturnUrl(Merchant.ReturnUrl.ToString());
            alipayRequest.SetNotifyUrl(Merchant.NotifyUrl.ToString());
            AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();

            model.Subject        = Order.Subject;
            model.OutTradeNo     = Order.OrderNo;
            model.TimeoutExpress = "30m";
            model.TotalAmount    = Order.OrderAmount.ToString();
            model.ProductCode    = "QUICK_WAP_PAY";
            alipayRequest.SetBizModel(model);
            return(alipayClient.pageExecute(alipayRequest).Body);
        }
예제 #5
0
        public string BuildPaymentForm()
        {
            IAopClient alipayClient = GetAopClient();
            AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();// 创建API对应的request

            alipayRequest.SetReturnUrl(Merchant.ReturnUrl.ToString());
            alipayRequest.SetNotifyUrl(Merchant.NotifyUrl.ToString());
            AlipayTradePagePayModel model = new AlipayTradePagePayModel();

            model.Subject        = Order.Subject;
            model.OutTradeNo     = Order.OrderNo;
            model.TimeoutExpress = "30m";
            model.TotalAmount    = Order.OrderAmount.ToString();
            model.ProductCode    = "FAST_INSTANT_TRADE_PAY";
            alipayRequest.SetBizModel(model);
            return(alipayClient.pageExecute(alipayRequest).Body); // 调用SDK生成表单
        }
예제 #6
0
        /// <summary>
        /// 当面付扫码
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public ActionResult BarCodePay(string code)
        {
            string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmssfff");

            AlipayTradePayRequest request = new AlipayTradePayRequest(); //创建API对应的request类

            request.BizContent = "{" +
                                 "    \"out_trade_no\":\"" + out_trade_no + "\"," +
                                 "    \"scene\":\"bar_code\"," +
                                 "    \"auth_code\":\"" + code + "\"," +
                                 "    \"subject\":\"Iphone6 16G\"," +
                                 "    \"store_id\":\"NJ_001\"," +
                                 "    \"timeout_express\":\"2m\"," +
                                 "    \"total_amount\":\"88.88\"" +
                                 "  }";                                    //设置业务参数
            AlipayTradePayResponse response = client.pageExecute(request); //通过alipayClient调用API,获得对应的response类

            return(Content(response.Body));
        }
예제 #7
0
        public Dictionary <string, string> BuildPayParams()
        {
            IAopClient alipayClient = GetAopClient();
            AlipayTradeAppPayRequest alipayRequest = new AlipayTradeAppPayRequest();

            alipayRequest.SetReturnUrl(Merchant.ReturnUrl.ToString());
            alipayRequest.SetNotifyUrl(Merchant.NotifyUrl.ToString());
            AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();

            model.Subject        = Order.Subject;
            model.OutTradeNo     = Order.OrderNo;
            model.TimeoutExpress = "30m";
            model.TotalAmount    = Order.OrderAmount.ToString();
            model.ProductCode    = "QUICK_MSECURITY_PAY";
            alipayRequest.SetBizModel(model);
            Dictionary <string, string> resParam = new Dictionary <string, string>();

            resParam.Add("body", alipayClient.pageExecute(alipayRequest).Body);
            return(resParam);
        }
예제 #8
0
 public T pageExecute <T>(IAopRequest <T> request) where T : AopResponse
 {
     return(_aopClient.pageExecute(request));
 }