日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

支付宝公共服务窗开发总结

發(fā)布時間:2024/9/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 支付宝公共服务窗开发总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前些日子有幸接觸了支付寶服務(wù)窗的開發(fā),總的來說,和微信的服務(wù)窗開發(fā)很像,老大確定的用HTML5+CSS3開發(fā),來寫一下自己的總結(jié),Java方向。


后臺用的servlet+jdbc的方式,因為功能很少,操作不多,邏輯處理也不多,就算套用大框架,也用不到那么全面的功能??偨Y(jié)主要說一下和支付寶相關(guān)的代碼,其他部分暫可一帶而過。


公私鑰

首先,開發(fā)支付寶服務(wù)窗要有客戶與支付寶談成協(xié)議之后,在支付寶服務(wù)窗頁面用指定的賬戶登錄后,第一步要做的,就是激活開發(fā)者模式。這里需要用到的三個值,支付寶公鑰、開發(fā)者公鑰、開發(fā)者私鑰,支付寶公鑰是開發(fā)者模式頁面提供的,開發(fā)者公私鑰是用支付寶提供的工具計算生成的,其中,私鑰要再進一步轉(zhuǎn)化成pkcs8格式,才能進行java開發(fā),當(dāng)然,所有的這些都是用支付寶工具生成,按照給定的指定輸入到cmd窗口就可以。


支付寶網(wǎng)關(guān)和開發(fā)者網(wǎng)關(guān)

這兩個概念要區(qū)分,支付寶網(wǎng)關(guān)是支付寶提供的網(wǎng)關(guān)地址,開發(fā)者網(wǎng)關(guān)是需要由我們開發(fā)部署的網(wǎng)關(guān)地址,那么我們做的就是一個servlet,部署到外網(wǎng)服務(wù)器上之后,就可以與支付寶網(wǎng)關(guān)交換數(shù)據(jù),以達到激活網(wǎng)關(guān)的效果。


激活開發(fā)者模式

開發(fā)者網(wǎng)關(guān)并非一定要servlet,只不過我們寫java后臺,用servlet來與支付寶交互數(shù)據(jù)很方便。開發(fā)者模式的激活,要求開發(fā)者網(wǎng)關(guān)直接返回一個支付寶指定的消息,這條消息具體應(yīng)該如何編寫,公私鑰以及如何簽名,在支付寶的開發(fā)文檔里都有詳細寫明,這里不再進一步描述。按照要求寫好返回消息之后,在開發(fā)者模式頁面填寫相關(guān)信息,就會提示激活成功。


菜單配置

支付寶服務(wù)窗口所有按鈕的反應(yīng)模式,都由link out alipay 這三種反應(yīng)模式,即參數(shù)中的actionType?

link:顧名思義,直接彈出一個頁面,支付寶不做任何消息操作,也不接收任何傳值的行為,彈出的頁面地址由配置菜單時指定,寫在actionParam中。

out:當(dāng)菜單中的反應(yīng)模式配置為out時,即支付寶要發(fā)送一個消息到開發(fā)者網(wǎng)關(guān),由開發(fā)者網(wǎng)關(guān)識別消息并進行響應(yīng),此時actionParam中配置的參數(shù)為開發(fā)者自己指定的字符串(如:actionParam:ZFB_01),如果開發(fā)者網(wǎng)關(guān)對這個消息不做任何響應(yīng),那么支付寶手機錢包會報出網(wǎng)絡(luò)異常的提示。

alipay:這種方式是調(diào)用支付寶已開發(fā)好了的服務(wù),只能在開發(fā)者平臺上配置,如地圖功能等,但是說實話,感覺不好用。。。地圖不如自己寫頁面來的方便。


支付寶消息

支付寶所有消息,都有request和response構(gòu)成,成對出現(xiàn),而且有特定的格式,如果request發(fā)送之后沒有response,則會報出網(wǎng)絡(luò)異常的錯誤。

每一種request和response都有指定的格式,有必填項,有可選項,response有一個最簡短的構(gòu)造方式,不做任何處理,只是回復(fù)一下支付寶,可適用于大部分情況,具體構(gòu)造形式需參考支付寶開發(fā)文檔。


執(zhí)行流程參考

那么當(dāng)我們配置好開發(fā)者網(wǎng)關(guān)之后,servlet是這樣執(zhí)行的,當(dāng)支付寶發(fā)送請求到我們的開發(fā)者網(wǎng)關(guān),發(fā)送的request,既是servlet方法中的request,servlet中的request是由HttpServletRequest包裝,為了方便我們獲取,對request的解析,用了專門的方法:

[java]?view plaincopy
  • Map<String,?String>?params?=?new?HashMap<String,?String>();??
  • ????????if(null?!=?request){??
  • ????????????Set<String>?paramsKey?=?request.getParameterMap().keySet();??
  • ????????????for(String?key?:?paramsKey){??
  • ????????????????params.put(key,?request.getParameter(key));??
  • ????????????}??
  • ????????}??
  • 這樣做的好處是,將request中請求的具體內(nèi)容變成一個較好操作的map對象,方便我們處理。

    那么,按照上面的做法,我們獲得了一個map對象,其中包含著支付寶發(fā)送來的請求,然后,我們需要根據(jù)請求的內(nèi)容來判定此條請求是用來做什么的(比如:綁定,解綁,點擊菜單等),那么我們需要一個分配器來解析這條請求的內(nèi)容,有了分配器的眾多的if else之后,對應(yīng)的業(yè)務(wù)邏輯可以包裝在執(zhí)行器中,比如我獲取到一個賬戶綁定的請求之后,我需要用執(zhí)行器去解析這個請求的內(nèi)容,識別為綁定請求之后,再進入對應(yīng)的執(zhí)行器, 由執(zhí)行器同步返回一個賬戶綁定的response。



    來源:http://blog.csdn.net/u012103056/article/details/40339585

    總結(jié)

    以上是生活随笔為你收集整理的支付宝公共服务窗开发总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。