1、在生成公鑰私鑰以後,要上傳公鑰到支付寶開放平臺獲取支付寶公鑰,以及公鑰私鑰在接口如何使用的就不具體講了,遇到簽名問題的時候請使用支付寶驗簽工具驗證。另外需要註意壹點,坑了我將近兩小時的問題,我在收到支付寶異步回調的時候,是可以延簽通過的,然後我進入到支付寶聯調工具中把剛才回調的地址重新訪問壹遍,這個時候是需要註意的,因為這個時候已經將回調的參數拼接在了url後面,RSA加簽出來的簽名是有特殊字符的,然後就壹直延簽不通過。
2、微信方面由於沒有sdk,所以需要自己寫的部分相對多壹些,其中在與ios對接的時候,發現死活調不起來微信,但是安卓卻可以,浪費了將近半天的時候,最後修改了壹個參數的長度,發現ios可以了。其中在調起支付接口中有壹個參數timestamp,註意這個參數長度是10位的,但是java的時間戳長度默認是13位的,後來改成了10位就可以了。另外國內版微信有公眾號支付、h5支付、app支付,分別是三種不同的接口。h5支付和app支付都可以在微信開放平臺中申請的,但是公眾號卻需要在商戶平臺去綁定公眾號的appid,這點需要註意壹下,是需要不同的appid的,但是商戶號可以使用同壹個。
國際版的壹個最大的特點就是效率慢,太慢了。相比國內多的接口就是報關接口。
國際版支付寶和國內的完全不同,使用的網關是mapi開頭的地址,另外如果使用rsa的話,公鑰是需要發送郵箱到支付寶海外團隊的(需要他們返回支付寶公鑰),在做國際版支付寶的時候遇到的壹個最大的問題就是簽名問題,支付寶延簽工具也可以,客服也問了好久,可就是在喚醒的時候壹直報簽名錯誤,傳遞參數的值(包括sign)中如果存在特殊字符(如:&、@、/、+、{}等),那麽該值需要做URL Encoding,這壹點壹定要特別註意,壹定要做url encoding操作,不然會坑死自己的。另外國際版支付寶是需要有資金單位的,還沒有rmb結算的時候,所以在開發的時候統壹使用了美元。
國際版微信在申請填寫手機號的時候不要加+86,不然妳會收到設置api密鑰的時候收不到短信的魔咒。另外國際版微信是需要商戶號和appid手動綁定的