目前為止,已經(jīng)完成了支付寶(國內(nèi)國際版)凰荚、微信(國內(nèi)國際版)的開發(fā)燃观,包括h5、微信公眾號便瑟、app的支付開發(fā)缆毁。其中走過了很多的坑,記錄下來到涂,以后做這方面的朋友可以少走一些坑脊框。接下來我也將從國內(nèi)國際兩個方向記錄一下。
剛開始階段做的是國內(nèi)版的践啄,整體還是比較容易的浇雹,不過還是有幾點需要注意的:
1、在生成公鑰私鑰以后屿讽,要上傳公鑰到支付寶開放平臺獲取支付寶公鑰昭灵,以及公鑰私鑰在接口如何使用的就不具體講了,遇到簽名問題的時候請使用支付寶驗簽工具驗證伐谈。另外需要注意一點烂完,坑了我將近兩小時的問題,我在收到支付寶異步回調(diào)的時候衩婚,是可以延簽通過的窜护,然后我進入到支付寶聯(lián)調(diào)工具中把剛才回調(diào)的地址重新訪問一遍,這個時候是需要注意的非春,因為這個時候已經(jīng)將回調(diào)的參數(shù)拼接在了url后面柱徙,RSA加簽出來的簽名是有特殊字符的,然后就一直延簽不通過奇昙。
2护侮、微信方面由于沒有sdk,所以需要自己寫的部分相對多一些储耐,其中在與ios對接的時候羊初,發(fā)現(xiàn)死活調(diào)不起來微信,但是安卓卻可以,浪費了將近半天的時候长赞,最后修改了一個參數(shù)的長度晦攒,發(fā)現(xiàn)ios可以了。其中在調(diào)起支付接口中有一個參數(shù)timestamp得哆,注意這個參數(shù)長度是10位的脯颜,但是java的時間戳長度默認是13位的,后來改成了10位就可以了贩据。另外國內(nèi)版微信有公眾號支付栋操、h5支付、app支付饱亮,分別是三種不同的接口矾芙。h5支付和app支付都可以在微信開放平臺中申請的,但是公眾號卻需要在商戶平臺去綁定公眾號的appid近上,這點需要注意一下剔宪,是需要不同的appid的,但是商戶號可以使用同一個戈锻。
國際版
國際版的一個最大的特點就是效率慢歼跟,太慢了。相比國內(nèi)多的接口就是報關接口哈街。
國際版支付寶和國內(nèi)的完全不同拒迅,使用的網(wǎng)關是mapi開頭的地址,另外如果使用rsa的話作箍,公鑰是需要發(fā)送郵箱到支付寶海外團隊的(需要他們返回支付寶公鑰)前硫,在做國際版支付寶的時候遇到的一個最大的問題就是簽名問題,支付寶延簽工具也可以阶剑,客服也問了好久危号,可就是在喚醒的時候一直報簽名錯誤,傳遞參數(shù)的值(包括sign)中如果存在特殊字符(如:&猪半、@磨确、/、+安接、{}等)英融,那么該值需要做URL Encoding驶悟,這一點一定要特別注意痕鳍,一定要做url encoding操作龙巨,不然會坑死自己的旨别。另外國際版支付寶是需要有資金單位的,還沒有rmb結算的時候铭若,所以在開發(fā)的時候統(tǒng)一使用了美元。
國際版微信在申請?zhí)顚懯謾C號的時候不要加+86,不然你會收到設置api密鑰的時候收不到短信的魔咒叼屠。另外國際版微信是需要商戶號和appid手動綁定的