Beispiel #1
0
        public string GetRequestUrl(string returnUrl, string notifyUrl, string orderId, decimal totalFee, string productInfo, string openId = null)
        {
            if (string.IsNullOrEmpty(productInfo))
            {
                throw new PluginConfigException("商品信息不能为空!");
            }
            if (string.IsNullOrEmpty(orderId))
            {
                throw new PluginConfigException("订单号不能为空!");
            }
            if (string.IsNullOrEmpty(returnUrl))
            {
                throw new PluginConfigException("返回URL不能为空!");
            }


            Dictionary <string, string> dicPara = new Dictionary <string, string>();

            dicPara.Add("service", _Config.GetDataService);                                             //取令牌接口
            dicPara.Add("partner", _Config.Partner);                                                    //合作者ID,支付宝提供
            dicPara.Add("_input_charset", _Config.Input_charset);
            dicPara.Add("out_trade_no", orderId);                                                       //固定参数
            dicPara.Add("subject", productInfo.Length > 128?productInfo.Substring(0, 128):productInfo); //固定参数
            dicPara.Add("payment_type", "1");                                                           //固定参数
            dicPara.Add("seller_id", _Config.Seller_email);                                             //固定参数
            dicPara.Add("total_fee", totalFee.ToString());                                              //固定参数
            dicPara.Add("body", productInfo);                                                           //固定参数
            dicPara.Add("it_b_pay", "30m");                                                             //固定参数
            dicPara.Add("notify_url", notifyUrl);                                                       //固定参数

            var paraStr = Submit.BuildRequestParaToString(dicPara, Encoding.GetEncoding(_Config.Input_charset), _Config);

            return(paraStr);
        }
Beispiel #2
0
        //app支付,后台下单
        public JsonResult AliPay_APPPay(string total_fee = "1")
        {
            try
            {
                //商户订单号 System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString()

                //商户网站订单系统中唯一订单号,必填

                string out_trade_no = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString();
                //把请求参数打包成数组
                SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();


                sParaTemp.Add("_input_charset", Com.Alipay.Config.input_charset.ToLower());
                sParaTemp.Add("body", "1");
                sParaTemp.Add("notify_url", Com.Alipay.Config.notify_url);
                sParaTemp.Add("out_trade_no", out_trade_no);
                sParaTemp.Add("partner", Com.Alipay.Config.partner);
                sParaTemp.Add("payment_type", Com.Alipay.Config.payment_type);
                sParaTemp.Add("seller_id", Com.Alipay.Config.seller_id);
                sParaTemp.Add("service", "mobile.securitypay.pay");
                sParaTemp.Add("subject", Com.Alipay.Config.subject);
                sParaTemp.Add("total_fee", total_fee.ToString());
                sParaTemp.Add("it_b_pay", "30m");
                sParaTemp.Add("return_url", "m.alipay.com");
                Encoding code = Encoding.GetEncoding(Com.Alipay.Config.input_charset);

                //待请求参数数组字符串
                string strRequestData = Submit.BuildRequestParaToString(sParaTemp, code);
                strRequestData = HttpUtility.UrlDecode(strRequestData, code);

                return(Json(new
                {
                    Data = strRequestData,
                    ResultCode = 0,
                    Msg = "下单成功"
                }));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Data = "",
                    ResultCode = 1,
                    Msg = "下单异常:" + ex.Message
                }));
            }
        }