/// <summary> /// 构造支付请求数据 /// </summary> /// <returns>请求数据集</returns> private AlipayTradePrecreateContentBuilder BuildPrecreateContent() { //线上联调时,请输入真实的外部订单号。 string out_trade_no = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString(); string total_fee = "1"; string subject = "test"; if (!string.IsNullOrEmpty(Request.QueryString["tid"])) { out_trade_no = Request.QueryString["tid"]; } OrderViewModel order = BOrder.SearchByTradeNo(out_trade_no); if (order != null) { subject = BProduct.ExecuteSql("select Name from Products where Id=" + order.Product_Id).ToString(); total_fee = (order.Price * order.Count).ToString(); } //if (String.IsNullOrEmpty(WIDout_request_no.Text.Trim())) //{ // out_trade_no = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString(); //} //else //{ //out_trade_no = "WF87212910290"; //} AlipayTradePrecreateContentBuilder builder = new AlipayTradePrecreateContentBuilder(); //收款账号 builder.seller_id = Config.pid; //订单编号 builder.out_trade_no = out_trade_no; //订单总金额 builder.total_amount = total_fee; //参与优惠计算的金额 //builder.discountable_amount = ""; //不参与优惠计算的金额 //builder.undiscountable_amount = ""; //订单名称 builder.subject = subject; //自定义超时时间 builder.timeout_express = "5m"; //订单描述 builder.body = ""; //门店编号,很重要的参数,可以用作之后的营销 builder.store_id = "test store id"; //操作员编号,很重要的参数,可以用作之后的营销 builder.operator_id = "test"; //传入商品信息详情 List <GoodsInfo> gList = new List <GoodsInfo>(); if (order != null) { GoodsInfo goods = new GoodsInfo(); goods.goods_id = order.Product_Id.ToString(); goods.goods_name = subject; goods.price = order.Price.ToString(); goods.quantity = order.Count.ToString();; gList.Add(goods); } else { GoodsInfo goods = new GoodsInfo(); goods.goods_id = "520"; goods.goods_name = "捐助"; goods.price = "0.1"; goods.quantity = "1"; gList.Add(goods); } builder.goods_detail = gList; //系统商接入可以填此参数用作返佣 //ExtendParams exParam = new ExtendParams(); //exParam.sysServiceProviderId = "20880000000000"; //builder.extendParams = exParam; return(builder); }