天天看點

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

作者:cpolar極點雲

在沙箱環境調試支付SDK的時候,往往沙箱環境部署在本地,局限性大,在沙箱環境中有多種支付場景,往往是多人聯合開發,本地環境可能無法滿足異地聯合,是以把本地環境變成公網環境下進行調試開發會更好。

本次教程,我們将使用支付寶平台提供的沙箱環境,在本地配置測試模拟支付,并做内網穿透,通過cpolar穿透内網,實作在公網環境下的遠端通路,無需公網IP,也無需配置路由器。

1. 下載下傳當面付demo

進入支付寶開放平台沙箱應用(https://open.alipay.com/develop/sandbox/app),檢視産品清單–>已支援的産品,選擇一種支付場景,這裡選擇 當面付,然後點選檢視文檔

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

然後下載下傳官方提供demo,有三種語言,這裡以java語言為例,下載下傳java版demo

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

2. 修改配置檔案

demo下載下傳好後,把TradePayDemo和TradePaySDK兩個子產品倒入開發工具中,這裡以IDEA開發工具為例,需要注意,官方要求的JDK版本是1.6

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

倒入并且設定好JDK版本後,打開TradePayDemo下面的zfbinfo.properties配置檔案,填寫對應的資訊

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

注意配置檔案情況:

• 第一個配置資訊open_api_domain的值需要設定成支付寶開發平台以下對應的值

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

• pid和appid對應以下資訊

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

• private_key和public_key和alipay_public_key分别對應以下資訊

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】
Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

修改好配置檔案後,在Main啟動類,右鍵運作mian方法運作測試配置檔案是否正确,出現下單成功表示配置檔案正确

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

3. 打包成web服務

接下來把TradePayDemo這個web項目打包成web服務.

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】
Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】
Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

接着右鍵重新運作Main類的main方法

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

然後在輸出的路徑上可以看到出現了一個.war的web war包

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

接下來把這個war包放在tomcat中的webapps目錄下運作.(這裡tomcat版本為8.5.84)

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

運作tomcat

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】
Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

4. 區域網路測試

在浏覽器上輸入http://localhost+:端口号/TradePayDemo_war exploded/index.html,通路支付頁面,出現如下界面表示成功

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

5. 内網穿透

接着使用cpolar穿透本地支付寶支付沙箱環境demo,使得遠端可以進行通路沙箱環境進行測試。cpolar支援http/https/tcp協定,不限制流量,操作簡單,無需公網IP,也無需路由器。

cpolar官網:https://www.cpolar.com/

在本地安裝cpolar内網穿透之後,在浏覽器上通路本地9200端口,打開cpolar web ui 界面:http://127.0.0.1:9200。

點選左側儀表盤的隧道管理——建立隧道,由于tomcat中配置的是8040端口,是以我們要來建立一條http隧道,指向8040端口:

• 隧道名稱:可自定義,注意不要與已有的隧道名稱重複

• 協定:http

• 本地位址:8040

• 域名類型:免費選擇随機域名

• 地區:選擇China top

點選建立

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

隧道建立成功後,點選左側的狀态——線上隧道清單,可以看到,剛剛建立的隧道已經有生成了相應的公網位址,将其複制下來

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

6. 測試公網通路

打開浏覽器,通路剛剛複制的公網位址,出現如下界面表示公網通路成功

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

7. 配置二級子域名

由于以上使用cpolar所建立的隧道使用的是随即公網位址,該位址為随機臨時位址,24小時内會發生變化,不利于長期遠端通路。

是以我們可以為其配置二級子域名,該位址為固定位址,不會随機變化【ps:cpolar.cn已備案】

需要注意,配置固定二級子域名需要将cpolar更新到基礎套餐或以上。

登入cpolar官網,點選左側的預留,選擇保留二級子域名,設定一個二級子域名名稱,點選保留

• 地區:選擇china

• 二級域名:可自定義

• 描述:即備注,可自定義

位址保留成功後,将其複制下來,本例為alipayTest

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

通路本地9200端口,打開cpolar web ui 界面,點選左側的隧道管理——隧道清單,找到支付接口測試隧道,點選右側的編輯

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

修改隧道資訊:

• 域名類型:選擇二級域名

• Sub Domain:填寫剛剛保留成功的二級子域名

點選更新

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

點選左側的狀态——打開線上隧道清單,可以看到公網位址已經更新成為了二級子域名,複制對應的公網位址

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

8. 測試使用固定二級子域名通路

我們打開浏覽器,通路我們剛剛配置成功的固定二級子域名,出現如下資訊表示成功。

Java支付寶沙箱環境支付,官方Demo遠端調試【内網穿透】

繼續閱讀