using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using JumbotCms.API.Tenpay; using CY.Infrastructure.Common; using CY.Config; namespace DealMvc.Pay.Tenpay { public class UtilPay { public string Yinhang { get; set; } HttpContext context; public UtilPay(HttpContext context) { this.context = context; } /// /// 财付通接口 /// /// 商品名 /// 订单号 /// 货品总价格 /// public string GetTenpayUrl(string desc, string orderid, string total_fee,string returnurl) { //创建PayRequestHandler实例 PayRequestHandler reqHandler = new PayRequestHandler(context); reqHandler.YinHang = Yinhang; //商户号 string bargainor_id = WebInfo.Instance.Tenpay_account.ToString2();// "1214351301"; //设置密钥 reqHandler.setKey(WebInfo.Instance.Tenpay_key.ToString2()); //初始化 reqHandler.init(); //当前时间 yyyyMMdd string date = DateTime.Now.ToString("yyyyMMdd"); //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一 string sp_billno = DateTime.Now.ToString("HHmmss") + JumbotCms.API.Tenpay.TenpayUtil.BuildRandomStr(4); //财付通订单号,10位商户号+8位日期+10位序列号,需保证全局唯一 string transaction_id = bargainor_id + date + sp_billno; //test****** //double PayMoney_test = 0.01; //订单编号 string TenpaySN = transaction_id; //----------------------------- //设置支付参数 //----------------------------- reqHandler.setParameter("bargainor_id", bargainor_id); //商户号 reqHandler.setParameter("sp_billno", sp_billno); //商家订单号 reqHandler.setParameter("transaction_id", transaction_id); //财付通交易单号 reqHandler.setParameter("return_url", WebInfo.Instance.WebDomain.ToString2().TrimEnd('/') + returnurl); //支付通知url reqHandler.setParameter("desc", desc); //商品名称 reqHandler.setParameter("attach", orderid); //订单ID reqHandler.setParameter("total_fee", ((total_fee.ToDouble2() * 100).ToInt32()).ToString()); //商品金额,以分为单位 //用户ip,测试环境时不要加这个ip参数,正式环境再加此参数 reqHandler.setParameter("spbill_create_ip", DNTRequest.GetIP()); //获取请求带参数的url return reqHandler.getRequestURL(); } } }