支付寶接口使用方法
========================================
網(wǎng)上講解接口使用方法:
http://help.powereasy.net/handbook/eShop2006/Order/939.html
支付寶接口調(diào)用很簡(jiǎn)單,在自己的網(wǎng)站里面用到了這個(gè)支付接口
開始沒(méi)有頭緒,也看不懂里面的參數(shù)。
人要是真能靜下心來(lái)做些事情,那么這事情就會(huì)變得簡(jiǎn)單明了了。
別的不多說(shuō)了:
我所使用的接口文檔是:http://club.alipay.com/show_thread-80---5724879-.htm
這里下載的一個(gè)asp.net 接口程序
支付接口調(diào)用說(shuō)名:我們使用的是實(shí)物交易接口,還有一個(gè)虛擬的
需要商戶號(hào),用戶加密字符串,用戶登錄支付寶的賬號(hào),也就是郵箱地址
這些用來(lái)組合加密字符并發(fā)送到支付寶接口網(wǎng)關(guān),進(jìn)行驗(yàn)證,并且支付后再次驗(yàn)證此字符串是否與已經(jīng)設(shè)置的信息相符合
如果符合證明支付成功無(wú)誤,您就可以處理訂單的狀態(tài)了。
在返回的信息中可以得到當(dāng)前設(shè)置的訂單號(hào),您就可以修改此訂單的狀態(tài)了! 參數(shù)名稱為:out_trade_no 此參數(shù)可以獲得訂單號(hào)
其中一個(gè)default。aspx頁(yè)面為設(shè)置參數(shù)頁(yè)面,最好不要在這里設(shè)置,這樣太不安全,很容易就盜取這秘密信息
還是把信息存放到config中吧,
文檔中包含三個(gè)文件:
可將文件放到一個(gè)文件夾下面
default文件,是提交訂單的頁(yè)面,也就是連接支付寶的頁(yè)面,在這里設(shè)置 商戶號(hào),用戶key,及用戶登錄的賬號(hào),默認(rèn)的下拉框?yàn)橹Ц兜慕灰最愋停▽?shí)物交易)配送方式的價(jià)格可以自己設(shè)定,可以設(shè)置為0元 ,頁(yè)面都寫的清楚了
默認(rèn)的支付寶處理接口不用更改
然后設(shè)置支付返回的頁(yè)面,判斷結(jié)果并可處理訂單狀態(tài),需要設(shè)定的是絕對(duì)的路徑
接受你的訂單號(hào),然后修改此訂單的狀態(tài)就型了
下面是修改的地方:
string partner = ConfigHelper.GetConfigString("Alipay_partnerID"); //partner合作伙伴id(必須填寫) string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的對(duì)應(yīng)交易安全校驗(yàn)碼(必須填寫)
string v_oid = coll["out_trade_no"].ToString(); //獲取訂單號(hào)
view plaincopy to clipboardprint?
下面為default的代碼,我做了簡(jiǎn)單的修改
//按時(shí)構(gòu)造訂單號(hào);
//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(" ", "");
///訂單號(hào)碼
string out_trade_no = CRequest.GetQueryString("ordernum"); //接受自己的訂單號(hào)
string m = CRequest.GetQueryString("v_m");//接受自己的訂單金額
if (out_trade_no == "")
{
Jscript.AlertAndRedirect("訂單號(hào)為空,無(wú)法執(zhí)行支付!", "default.aspx");
return;
}
//業(yè)務(wù)參數(shù)賦值;
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;//加密協(xié)議
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(); //賣家賬號(hào)
string key = ConfigHelper.GetConfigString("Alipay_key"); //partner賬戶的支付寶安全校驗(yàn)碼
string return_url = T_return_url.Text; //服務(wù)器通知返回接口
string notify_url = T_notify_url.Text; //服務(wù)器通知返回接口
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);//跳轉(zhuǎn)到支付接口頁(yè)面
Alipay_Notify.aspx//此頁(yè)面 我未用到,是服務(wù)器通知頁(yè)面,也可以處理訂單狀態(tài),但是我在做的時(shí)候沒(méi)有這個(gè)頁(yè)面的事情,不知道怎么用
也將其中該修改的地方修改了,該設(shè)置的也設(shè)置了
將商戶號(hào)和key修改了就可以了
Alipay_Return.aspx 我在這個(gè)頁(yè)面里做的處理, 修改了商戶號(hào)和key值以后就可以了
接受你的訂單號(hào),然后修改此訂單的狀態(tài)就型了
下面是修改的地方:
string partner = ConfigHelper.GetConfigString("Alipay_partnerID"); //partner合作伙伴id(必須填寫)
string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的對(duì)應(yīng)交易安全校驗(yàn)碼(必須填寫)
string v_oid = coll["out_trade_no"].ToString(); //獲取訂單號(hào)
到這里就算處理完了,根據(jù)下面的狀態(tài)就可以處理訂單狀態(tài)了!!!!
下面為default的代碼,我做了簡(jiǎn)單的修改
//按時(shí)構(gòu)造訂單號(hào);
//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(" ", "");
///訂單號(hào)碼
string out_trade_no = CRequest.GetQueryString("ordernum"); //接受自己的訂單號(hào)
string m = CRequest.GetQueryString("v_m");//接受自己的訂單金額
if (out_trade_no == "")
{
Jscript.AlertAndRedirect("訂單號(hào)為空,無(wú)法執(zhí)行支付!", "default.aspx");
return;
}
//業(yè)務(wù)參數(shù)賦值;
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;//加密協(xié)議
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(); //賣家賬號(hào)
string key = ConfigHelper.GetConfigString("Alipay_key"); //partner賬戶的支付寶安全校驗(yàn)碼
string return_url = T_return_url.Text; //服務(wù)器通知返回接口
string notify_url = T_notify_url.Text; //服務(wù)器通知返回接口
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);//跳轉(zhuǎn)到支付接口頁(yè)面
Alipay_Notify.aspx//此頁(yè)面 我未用到,是服務(wù)器通知頁(yè)面,也可以處理訂單狀態(tài),但是我在做的時(shí)候沒(méi)有這個(gè)頁(yè)面的事情,不知道怎么用
也將其中該修改的地方修改了,該設(shè)置的也設(shè)置了
將商戶號(hào)和key修改了就可以了
Alipay_Return.aspx 我在這個(gè)頁(yè)面里做的處理, 修改了商戶號(hào)和key值以后就可以了
接受你的訂單號(hào),然后修改此訂單的狀態(tài)就型了
下面是修改的地方:
string partner = ConfigHelper.GetConfigString("Alipay_partnerID"); //partner合作伙伴id(必須填寫)
string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的對(duì)應(yīng)交易安全校驗(yàn)碼(必須填寫)
string v_oid = coll["out_trade_no"].ToString(); //獲取訂單號(hào)
到這里就算處理完了,根據(jù)下面的狀態(tài)就可以處理訂單狀態(tài)了!!!!
=======================================
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/crith/archive/2008/07/01/2601955.aspx
posted on 2009-09-25 10:51 閑雲(yún)野鶴 閱讀(1393) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)