因爲app內須要用到支付功能,選擇了當前最流行的支付寶進行支付。在進行內嵌支付寶功能開發時,被它狠狠的耍了一把。api
根據支付寶開發文檔,參考demo代碼。將相關支付功能加到了本身的代碼中。一些根據文檔來作,也沒有太大的難度。但添加完代碼,進行測試時,問題卻來了。在app中能夠成功調用支付寶app,成功支付並返回。這個時候就出現問題了。在app delegate支付寶回調本app的執行函數中,公鑰驗證簽名成功後,會對支付結果進行提示。根據demo,提示支付的代碼以下:服務器
問題就出如今這裏了。支付成功後,result.statusMessage返回的值倒是空的。而我測試取消支付,這個返回值倒是正確的,提示「操做取消」之類的文字(具體忘記了)。支付失敗沒有進行測試。這下麻煩了,不知問題出在哪裏。總不能支付成功後,返回一個空的提示吧。或者直接將提示本身寫死,顯示「支付成功」?那萬一是其餘信息提示咋辦呢?app
重複對比了demo和本身程序的代碼,發現沒有錯漏的地方。百思不得其解,因而想是否是支付寶後臺的問題?又根據支付寶服務器端的開發文檔,仔細檢查,反覆測試了。仍是找不到緣由。函數
這下沒撤了,只能打支持電話,加入一個交流羣,問了支付寶負責技術的人,反覆說明問題後,終於獲得了答覆,支付成功時,result.statusMessage是沒有返回值的,大概意思是後來取消了這個返回值。oop
個人媽阿,對返回值做了改變,爲啥文檔又沒說明,讓我等苦逼的程序猿白白折磨了一兩天,情何以堪呢。客氣的將個人想法提了給支付寶的技術支持,回覆說:不要太相信demo。shit,這是人話嗎,我用你的接口,不是根據你的文檔和demo,那我會擔憂出錯的,並且這是涉及到金錢問題,因此更加不能馬虎。心裏暗罵了一通以後,又將個人一番建議,例如要求再進一步完善文檔,對細節再進一步謹慎之類的提交到支付寶技術支持那裏。到此,個人痛苦的支付寶接口調用過程就告一段落了。寫這篇文章,算是提醒本身或者有須要的人,有不明白的地方,第一時間找支付寶的技術支持,不要本身瞎折騰了,說不定你碰到的問題不是本身的問題,而是出在第三方接口上。測試
另外說一下,支付寶網站上找技術支持,直接點支持旺旺是沒反應的,你須要打電話去問,才能拿到技術支持的旺旺號,這裏公佈一下支付寶技術支持羣的旺旺號,應該不會被支付寶的人罵吧。呵呵網站
旺旺號:24768316
密碼:alipay2010spa
補充:.net
另外,不少人發私信來問,哪裏能夠下載支付寶demo或者sdk。這個問題本身曾經也痛苦過,在支付寶網站找個demo,不是通常的難,位置隱藏得很是深,特別是改版後,更加難找了。上一次(改版後)實在找不到,只好問支付寶的技術支持。blog
支付寶集成sdk和demo下載地址:
下載地址:http://download.alipay.com/public/api/base/WS_SECURE_PAY.zip
這個只是無線產品的集成sdk和demo,其餘的產品沒有用過,因此忽略。