原 關於支付寶API開發的一點心得

2021-08-29 17:41:35 字數 1519 閱讀 7352

支付寶(www.alipay.com)的產生的確對於促進網路支付的確起到了很大的推動作用,筆者就在目前自己使用支付寶api介面開發中,遇到的一些問題,解決辦法,做了簡短的記錄,由此與大家共分享,由於作者水平有限,難免出現錯誤,請大家指出,謝謝。

目前,申請支付寶介面主要有兩種方式,1.免費介面,**抽取手續費2%;2.付費介面,比如600元允許48000元交易金額的配額等,筆者使用的是前者,免費介面。在免費介面中,又分為兩種,標準雙接**易型別和即時到賬交易,這兩種支付方式中,前者為**擔保交易+即時到賬交易,而後者僅僅為即時到賬交易,可根據自己的需要進行申請。

支付介面申請成功後,會的到兩個重要的引數支付寶安全校驗碼(key)和合作夥伴id(partner),這兩個引數起到了支付是否成功的重要作用,申請成功後,都可以在支付寶後台商家工具中獲得。

支付寶的原理其實就是通過瀏覽器傳引數到支付閘道器(支付閘道器是由struts構建的,筆者感覺是通過actionform獲得瀏覽器引數,進行內部解析的,瀏覽器傳的引數都進過了md5加密處理。

筆者遇到的第乙個問題:

has_no_privilege,在官方給出的api介紹中是這樣解釋的:「該錯誤提示的是,您沒有使用該介面的許可權,那麼登陸自己的支付寶賬戶,商家工具,檢視實物交易服務或者虛擬物品交易服務,如果沒有申請,請立刻申請並且當時開通。」我很肯定的是我已經開通了服務,那麼問題就不是出在這兒,仔細查閱了api發現,在service的引數中,設定錯誤了,所以,在以後的開發中請注意,如果您選擇的是:

標準雙接**易->service=trade_create_by_buyer

即時到帳交易->service=create_direct_pay_by_user

這裡一定要填寫正確,否則就會出現沒有許可權這樣的問題,這裡請注意一下。

筆者遇到的第二個問題:

支付成功了,但是總是返回的錯誤頁面,首先請看下面的**:

code

…… //

生成md5摘要;

string

mysign

=ge***5(prestr.tostring(), _input_charset);

string

sign

=request.querystring[

"sign"];

if(mysign

==sign

&&responsetxt =="

true

")

//驗證支付發過來的訊息,簽名是否正確

else

……

這裡如果mysign和responsetxt為flase,則會顯示錯誤資訊,這是由於在return頁面中,沒有設定支付寶安全校驗碼(key)和合作夥伴id(partner),解決方法,在page_lode中加入常量:

string key = "***************xx";//你的安全效驗碼

string partner = "************xx";//你的合作夥伴id;

這樣,加入後,當付款成功時,就會返回到正確的success了!

歡迎拍磚:)

使用Authentication的一點心得

我寫了乙個例子程式 第一次使用基於froms的驗證 首先假設使用者登陸成功 這個一般從資料庫得到驗證 然後寫入驗證票據authentication.以後的頁面中判斷這個使用者是否通過驗證,如果沒有,重定向到使用者登陸頁面 如果已經登陸,則執行業務邏輯 本文重點在討論authentication在角色...

python def和lambda的一點心得

原文 python def和python lambda這2個有相似點也有不同點,今天給大家分享下自己的心得吧。先說說2個的相似點 這兩個很重要的相似點就是都可以定義一些固定的方法或者是流程,供給程式來呼叫,比如我們要定義乙個變數加2的方法。首先看python def吧。definfo x retur...

python def和lambda的一點心得

原文 python def和python lambda這2個有相似點也有不同點,今天給大家分享下自己的心得吧。先說說2個的相似點 這兩個很重要的相似點就是都可以定義一些固定的方法或者是流程,供給程式來呼叫,比如我們要定義乙個變數加2的方法。首先看python def吧。definfo x retur...