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); }
//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 })); } }