在求職的時候面試官問我支付寶面對面支付的流程是怎么樣的,我答不出來。所以回來就去網上搜了一些教程。經過一些折騰,我終於把demo成功運行成功了。下面是我自己的一些詳細的內容。
第一步:登錄螞蟻金服開放平台並注冊
官網: https://openhome.alipay.com/platform/home.htm,用你的淘寶賬號或者手機號碼登錄即可。
登錄后,選擇
往下拉,找到
立即接入。
由於我是自己學習開發,沒有需要上線的應用,所以我在這里直接使用的是沙箱環境
就進入了沙箱環境。沙箱賬號不需要創建也不需要申請,支付寶已經默認給我們生成了一個,如下圖
到這里比較重要的就是生成自己的應用公鑰和應用私鑰了。我這里已經生成了。支付寶有兩種密鑰格式,如果你沒有什么特殊要求的話,建議用RSA2的密鑰。
在上圖的RSA2密鑰一欄,點擊“設置應用公鑰”----“查看密鑰生成辦法”,下載相應的密鑰生成工具。我使用的是windows的操作系統,所以選擇第一個。把密鑰工具下下來之后,解壓,直接點擊REA簽名驗簽工具,java開發使用的是PKCS8的密鑰格式,密鑰長度使用2048位,不要使用1024位,因為現在的支付寶不支持了。點擊生成密鑰,就會自動生成密鑰,
將生成的公鑰上傳,到這一步注冊就算完成了。
第二步:導入demo,配置環境。
到支付寶頁面https://docs.open.alipay.com/54/104506/ 下載當面付的demo。下載完成之后,看到的壓縮包里面有TradePayDemo和TradePaySDK兩個文件夾,你只需要那個TradePayDemo就可以了,SDK文件夾下面的內容是供你自己去詳細研究的工具包,如果你需要看的時候再去看。打開Myeclipse將demo導入到你的IDE中。
這個時候由於還不是web項目,所以我們需要把它變為web項目,這樣我們就能看到生成的頁面了。切換到Navigator視圖,找到.project文件
打開,找到<natures>...</natures>代碼段。在如下標簽加入以下內容並保存:
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
刷新項目。右鍵點擊項目---properties---Myeclipe---projectFacet,選擇以下項目。
這之后這個項目就變成web項目了, 不過到這一步還不行,我們還需要把tomcat加到項目里面。右鍵項目---Build Path --Add Libraries--Myeclipde Server Library--選擇你的Tomcat服務器版本,我自己用的話是9.0。點擊finish就結束了。
第三: 修改參數
點擊項目下面的src,找到zfbinfo.properties文件。對這個文件的內容進行修改。
還記得我們之前的那個沙箱應用嗎,找到那個網頁,上面一些參數都需要。
我們需要修改和配置的參數有
open_api_domain:由於我們是使用的沙箱環境,因此我們的支付寶網關也要修改成沙箱環境下的網關,不然到時候就會報錯。把它修改為
APPID:上圖的APPID。
PID:在沙箱網頁的右上角 點擊賬戶信息
這個就是了。
private_key:剛才用工具生成的應用私鑰,
public_key:上圖中的應用公鑰
alipay_public_key:將其修改為在沙箱頁面中的查看到的支付寶公鑰
這些參數修改完成之后就可以運行了。