/// <summary> /// 构造函数 /// 从配置文件中初始化变量 /// </summary> /// <param name="inputPara">通知返回来的参数数组</param> /// <param name="notify_id">验证通知ID</param> /// <param name="partner">合作身份者ID</param> /// <param name="key">安全校验码</param> /// <param name="input_charset">编码格式</param> /// <param name="sign_type">签名类型</param> /// <param name="transport">访问模式</param> public B_Alipay_notify(SortedDictionary <string, string> inputPara, string notify_id, string partner, string key, string input_charset, string sign_type, string transport) { _transport = transport; if (_transport == "https") { gateway = "https://www.alipay.com/cooperate/gateway.do?"; } else { gateway = "http://notify.alipay.com/trade/notify_query.do?"; } _partner = partner.Trim(); _key = key.Trim(); _input_charset = input_charset; _sign_type = sign_type.ToUpper(); sPara = B_Alipay_function.Para_filter(inputPara); //过滤空值、sign与sign_type参数 preSignStr = B_Alipay_function.Create_linkstring(sPara); //获取待签名字符串(调试用) //获得签名结果 mysign = B_Alipay_function.Build_mysign(sPara, _key, _sign_type, _input_charset); //获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求 responseTxt = Verify(notify_id); }
private Dictionary <string, string> sPara = new Dictionary <string, string>(); //要签名的字符串 /// <summary> /// 构造函数 /// 从配置文件及入口文件中初始化变量 /// </summary> /// <param name="partner">合作身份者ID</param> /// <param name="trade_no">支付宝交易号。它是登陆支付宝网站在交易管理中查询得到,一般以8位日期开头的纯数字(如:20100419XXXXXXXXXX) </param> /// <param name="logistics_name">物流公司名称</param> /// <param name="invoice_no">物流发货单号</param> /// <param name="transport_type">物流发货时的运输类型,三个值可选:POST(平邮)、EXPRESS(快递)、EMS(EMS)</param> /// <param name="seller_ip">卖家本地电脑IP地址</param> /// <param name="key">安全检验码</param> /// <param name="input_charset">字符编码格式 目前支持 gbk 或 utf-8</param> /// <param name="sign_type">加密方式 不需修改</param> public B_Alipay_shipments_service(string partner, string trade_no, string logistics_name, string invoice_no, string transport_type, string seller_ip, string key, string input_charset, string sign_type) { gateway = "https://www.alipay.com/cooperate/gateway.do?"; _key = key.Trim(); _input_charset = input_charset.ToLower(); _sign_type = sign_type.ToUpper(); SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); //构造签名参数数组 sParaTemp.Add("service", "send_goods_confirm_by_platform"); sParaTemp.Add("partner", partner); sParaTemp.Add("trade_no", trade_no); sParaTemp.Add("logistics_name", logistics_name); sParaTemp.Add("invoice_no", invoice_no); sParaTemp.Add("transport_type", transport_type); sParaTemp.Add("seller_ip", seller_ip); sParaTemp.Add("_input_charset", _input_charset); sPara = B_Alipay_function.Para_filter(sParaTemp); //获得签名结果 mysign = B_Alipay_function.Build_mysign(sPara, _key, _sign_type, _input_charset); }
private Dictionary <string, string> sPara = new Dictionary <string, string>(); //要签名的参数组 /// <summary> /// 构造函数 /// 从配置文件及入口文件中初始化变量 /// </summary> /// <param name="partner">合作身份者ID</param> /// <param name="return_url">付完款后跳转的页面 要用 以http开头格式的完整路径,不允许加?id=123这类自定义参数</param> /// <param name="email">会员通用登录时,会员的支付宝账号</param> /// <param name="key">安全检验码</param> /// <param name="input_charset">字符编码格式 目前支持 gbk 或 utf-8</param> /// <param name="sign_type">签名方式 不需修改</param> public B_Alipay_user_service(string partner, string return_url, string email, string key, string input_charset, string sign_type) { gateway = "https://www.alipay.com/cooperate/gateway.do?"; _key = key.Trim(); _input_charset = input_charset.ToLower(); _sign_type = sign_type.ToUpper(); SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); //构造签名参数数组 sParaTemp.Add("service", "user_authentication"); sParaTemp.Add("partner", partner); sParaTemp.Add("return_url", return_url); sParaTemp.Add("email", email); sParaTemp.Add("_input_charset", _input_charset); sPara = B_Alipay_function.Para_filter(sParaTemp); //获得签名结果 mysign = B_Alipay_function.Build_mysign(sPara, _key, _sign_type, _input_charset); }
private Dictionary <string, string> sPara = new Dictionary <string, string>(); //要签名的字符串 /// <summary> /// 构造函数 /// 从配置文件及入口文件中初始化变量 /// </summary> /// <param name="partner">合作身份者ID</param> /// <param name="seller_email">签约支付宝账号或卖家支付宝帐户</param> /// <param name="return_url">付完款后跳转的页面 要用 以http开头格式的完整路径,不允许加?id=123这类自定义参数</param> /// <param name="notify_url">交易过程中服务器通知的页面 要用 以http开格式的完整路径,不允许加?id=123这类自定义参数</param> /// <param name="show_url">网站商品的展示地址,不允许加?id=123这类自定义参数</param> /// <param name="out_trade_no">请与贵网站订单系统中的唯一订单号匹配</param> /// <param name="subject">订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。</param> /// <param name="body">订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里</param> /// <param name="price">订单总金额,显示在支付宝收银台里的“商品单价”里</param> /// <param name="logistics_fee">物流费用,即运费。</param> /// <param name="logistics_type">物流类型,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)</param> /// <param name="logistics_payment">物流支付方式,三个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)</param> /// <param name="quantity">商品数量,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品。</param> /// <param name="receive_name">收货人姓名,如:张三</param> /// <param name="receive_address">收货人地址,如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号</param> /// <param name="receive_zip">收货人邮编,如:123456</param> /// <param name="receive_phone">收货人电话号码,如:0571-81234567</param> /// <param name="receive_mobile">收货人手机号码,如:13312341234</param> /// <param name="logistics_fee_1">第二组物流费用,即运费。</param> /// <param name="logistics_type_1">第二组物流类型,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)</param> /// <param name="logistics_payment_1">第二组物流支付方式,三个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)</param> /// <param name="logistics_fee_2">第三组物流费用,即运费。</param> /// <param name="logistics_type_2">第三组物流类型,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)</param> /// <param name="logistics_payment_2">第三组物流支付方式,三个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)</param> /// <param name="buyer_email">默认买家支付宝账号</param> /// <param name="discount">折扣,是具体的金额,而不是百分比。若要使用打折,请使用负数,并保证小数点最多两位数</param> /// <param name="key">安全检验码</param> /// <param name="input_charset">字符编码格式 目前支持 gbk 或 utf-8</param> /// <param name="sign_type">加密方式 不需修改</param> public B_Alipay_trade_service(string partner, string seller_email, string return_url, string notify_url, string show_url, string out_trade_no, string subject, string body, string price, string logistics_fee, string logistics_type, string logistics_payment, string quantity, string receive_name, string receive_address, string receive_zip, string receive_phone, string receive_mobile, string logistics_fee_1, string logistics_type_1, string logistics_payment_1, string logistics_fee_2, string logistics_type_2, string logistics_payment_2, string buyer_email, string discount, string key, string input_charset, string sign_type) { gateway = "https://www.alipay.com/cooperate/gateway.do?"; _key = key.Trim(); _input_charset = input_charset.ToLower(); _sign_type = sign_type.ToUpper(); SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); //构造加密参数数组,以下顺序请不要更改(由a到z排序) sParaTemp.Add("_input_charset", _input_charset); sParaTemp.Add("body", body); sParaTemp.Add("buyer_email", buyer_email); sParaTemp.Add("discount", discount); sParaTemp.Add("logistics_fee", logistics_fee); sParaTemp.Add("logistics_fee_1", logistics_fee_1); sParaTemp.Add("logistics_fee_2", logistics_fee_2); sParaTemp.Add("logistics_payment", logistics_payment); sParaTemp.Add("logistics_payment_1", logistics_payment_1); sParaTemp.Add("logistics_payment_2", logistics_payment_2); sParaTemp.Add("logistics_type", logistics_type); sParaTemp.Add("logistics_type_1", logistics_type_1); sParaTemp.Add("logistics_type_2", logistics_type_2); sParaTemp.Add("notify_url", notify_url); sParaTemp.Add("out_trade_no", out_trade_no); sParaTemp.Add("partner", partner); sParaTemp.Add("payment_type", "1"); sParaTemp.Add("price", price); sParaTemp.Add("quantity", quantity); sParaTemp.Add("receive_address", receive_address); sParaTemp.Add("receive_mobile", receive_mobile); sParaTemp.Add("receive_name", receive_name); sParaTemp.Add("receive_phone", receive_phone); sParaTemp.Add("receive_zip", receive_zip); sParaTemp.Add("return_url", return_url); sParaTemp.Add("seller_email", seller_email); sParaTemp.Add("service", "trade_create_by_buyer"); sParaTemp.Add("show_url", show_url); sParaTemp.Add("subject", subject); //构造加密参数数组,以上顺序请不要更改(由a到z排序) sPara = B_Alipay_function.Para_filter(sParaTemp); //获得签名结果 mysign = B_Alipay_function.Build_mysign(sPara, _key, _sign_type, _input_charset); }