支付宝接口使用方法
========================================
网上讲解接口使用方法:
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(); //获取订单号
view plaincopy to clipboardprint?
下面为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(); //获取订单号
到这里就算处理完了,根据下面的状态就可以处理订单状态了!!!!
下面为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(); //获取订单号
到这里就算处理完了,根据下面的状态就可以处理订单状态了!!!!
=======================================
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/crith/archive/2008/07/01/2601955.aspx