全文转自http://blog.csdn.net/crith/archive/2008/07/01/2601955.aspx
========================================
网上讲解接口使用方法:
http://help.powereasy.net/handbook/eShop2006/Order/939.html
支付宝接口调用很简单,在自己的网站里面用到了这个支付接口
开始没有头绪,也看不懂里面的参数。
人要是真能静下心来做些事情,那么这事情就会变得简单明了了。
别的不多说了:
我所使用的接口文档是:http://club.alipay.com/show_thread-80---5724879-.htm
这里下载的一个asp.net 接口程序
支付接口调用说名:我们使用的是实物交易接口,还有一个虚拟的
需要商户号,用户加密字符串,用户登录支付宝的账号,也就是邮箱地址
这些用来组合加密字符并发送到支付宝接口网关,进行验证,并且支付后再次验证此字符串是否与已经设置的信息相符合
如果符合证明支付成功无误,您就可以处理订单的状态了。
在返回的信息中可以得到当前设置的订单号,您就可以修改此订单的状态了! 参数名称为:out_trade_no 此参数可以获得订单号
其中一个default。aspx页面为设置参数页面,最好不要在这里设置,这样太不安全,很容易就盗取这秘密信息
还是把信息存放到config中吧,
文档中包含三个文件:
可将文件放到一个文件夹下面
default文件,是提交订单的页面,也就是连接支付宝的页面,在这里设置 商户号,用户key,及用户登录的账号,默认的下拉框为支付的交易类型(实物交易)配送方式的价格可以自己设定,可以设置为0元 ,页面都写的清楚了
默认的支付宝处理接口不用更改
然后设置支付返回的页面,判断结果并可处理订单状态,需要设定的是绝对的路径
接受你的订单号,然后修改此订单的状态就型了
下面是修改的地方:
string partner = ConfigHelper.GetConfigString("Alipay_partnerID"); //partner合作伙伴id(必须填写) string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的对应交易安全校验码(必须填写)
string v_oid = coll["out_trade_no"].ToString(); //获取订单号
- 下面为default的代码,我做了简单的修改
- //按时构造订单号;
- //System.DateTime currentTime = new System.DateTime();
- //currentTime = System.DateTime.Now;
- //string out_trade_no = currentTime.ToString("g");
- //out_trade_no = out_trade_no.Replace("-", "");
- //out_trade_no = out_trade_no.Replace(":", "");
- //out_trade_no = out_trade_no.Replace(" ", "");
- ///订单号码
- string out_trade_no = CRequest.GetQueryString("ordernum"); //接受自己的订单号
- string m = CRequest.GetQueryString("v_m");//接受自己的订单金额
- if (out_trade_no == "")
- {
- Jscript.AlertAndRedirect("订单号为空,无法执行支付!", "default.aspx");
- return;
- }
- //业务参数赋值;
- string gateway = T_gateway.Text; //'支付接口
- string service = T_service.Text;
- string partner = ConfigHelper.GetConfigString("Alipay_partnerID"); //partner 合作伙伴ID 保留字段
- string sign_type = T_sign_type.Text;//加密协议
- string subject = T_subject.Text; //subject 商品名称
- string body = T_body.Text; //body 商品描述
- string payment_type = T_payment_type.Text; //支付类型
- string price = m;
- string quantity = TextBox1.Text;
- string show_url = T_show_url.Text;
- string seller_email = T_seller_email.Text.Trim(); //卖家账号
- string key = ConfigHelper.GetConfigString("Alipay_key"); //partner账户的支付宝安全校验码
- string return_url = T_return_url.Text; //服务器通知返回接口
- string notify_url = T_notify_url.Text; //服务器通知返回接口
- string _input_charset = T_inputchatset.Text;
- string logistics_type = "POST";
- string logistics_fee = TextBox2.Text;
- string logistics_payment = "BUYER_PAY";
- string logistics_type_1 = "EXPRESS";
- string logistics_fee_1 = TextBox3.Text;
- string logistics_payment_1 = "BUYER_PAY";
- AliPay ap = new AliPay();
- string aliay_url = ap.CreatUrl(
- gateway,
- service,
- partner,
- sign_type,
- out_trade_no,
- subject,
- body,
- payment_type,
- price,
- show_url,
- seller_email,
- key,
- return_url,
- _input_charset,
- notify_url,
- logistics_type,
- logistics_fee,
- logistics_payment,
- logistics_type_1,
- logistics_fee_1,
- logistics_payment_1,
- quantity
- );
- Response.Redirect(aliay_url);//跳转到支付接口页面
- Alipay_Notify.aspx//此页面 我未用到,是服务器通知页面,也可以处理订单状态,但是我在做的时候没有这个页面的事情,不知道怎么用
- 也将其中该修改的地方修改了,该设置的也设置了
- 将商户号和key修改了就可以了
- Alipay_Return.aspx 我在这个页面里做的处理, 修改了商户号和key值以后就可以了
- 接受你的订单号,然后修改此订单的状态就型了
- 下面是修改的地方:
- string partner = ConfigHelper.GetConfigString("Alipay_partnerID"); //partner合作伙伴id(必须填写)
- string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的对应交易安全校验码(必须填写)
- string v_oid = coll["out_trade_no"].ToString(); //获取订单号
- 到这里就算处理完了,根据下面的状态就可以处理订单状态了!!!!
全文转自 http://blog.csdn.net/crith/archive/2008/07/01/2601955.aspx