談談iOS接入微信支付遇到的小坑
前言
前幾天給我們的app接入微信支付,因為在很久之前我就已經瞭解到我們的app有這方面的需求,因此我早就預習了微信支付的官方文件,自以為成足在胸,躍躍欲試,最後才發現我還是too young too simple!!!以下是我接入的坎坷過程......
過程
因為專案原來就已經有微信分享以及微信登入的功能,所以官網裡以下2個步驟(圖片截於官網)我是直接跳過
於是我直接寫程式碼進入發起支付請求階段
官網上的程式碼如下:
將以上程式碼照葫蘆畫瓢移植到我的app後(資料由我們後臺提供),然後我就充滿憧憬地執行程式,調起微信支付,頓時我就傻眼了!!!一點反應也沒有!!!當時的我還天真無邪地崇尚著官網上的程式碼,開始質疑起自己來,是不是我之前的步驟沒做到位...於是我仔細地核查了好幾遍整合步驟,還是不行!當然在這個過程中我也Google(自從被某度坑過......此處省略萬字)出了好幾篇關於微信支付的坑的博文,以及各位前人大賢們對官方文件的吐槽...當時搜出以下原因:
1.appid錯誤(由於之前已經完成了微信登入和微信分享的功能,排除);
2.第三方分享的SDK整合了微信的SDK,呼叫微信支付時呼叫了第三方分享框架裡的微信SDK接微信支付時,無法開啟微信app,7樓的解答(排除)
當時幾乎是搜遍都找不到原因,直到我看到一篇博文(額,網址忘記了),裡面提到支付請求有兩個方法,其中一個方法不行就試試另一個
於是我抱著試試的心態把sendReq換成了safeSendReq,曙光就這樣降臨(同時心中萬隻草泥馬奔騰有沒有)......
還有如果想在不同位置響應不同操作(如微信登入,支付,分享)的回撥方法可以在這裡設定
如上我是設定了登入和支付在自己寫的WXApiTool響應回撥,而分享是在DWZShareKit這個框架響應回撥。
另外,在搜尋的過程中發現大家遇到比較多的問題是可呼叫微信支付,但是進入的頁面空白或者只有確定按鈕,這種情況一般是發起支付請求的引數有誤,可參考微信支付的小坑 - Kinoの技術部落格 以及iOS微信支付的那些坑 - 簡書 ,我的引數都是由後臺提供,把上述的坑填好後就直接通過了(後臺也是挺給力的哈)。
總結
這次給了我一個啟發:不要盲目相信官方文件的程式碼(哪怕是某信這樣的大公司),遇到問題多Google(又讓我想起某度給我留下的陰影...),看看前人的答案,最後送上我的座右銘:學習之路,與君共勉。
相關文章
- 談談微信小程式微信小程式
- 小程式接入微信支付的流程
- 微信小程式支付接入實戰微信小程式
- 記錄--uniapp相容微信小程式和支付寶小程式遇到的坑APP微信小程式
- 【iOS】那些年,遇到的小坑iOS
- iOS微信支付接入以及工具類封裝iOS封裝
- 微信和支付寶的支付流程,以及開發中遇到的坑?
- 微信小程式開發遇到的那些坑微信小程式
- 談談畫素以及微信小程式的 rpx微信小程式
- Flutter 接入iOS蘋果內購支付踩坑過程FlutteriOS蘋果
- 談下微信小程式的抓取技巧微信小程式
- 親身經歷之微信支付沙箱環境掃碼支付遇到的那些坑
- PHP接入微信支付分PHP
- Android 接入微信支付寶支付Android
- 沒太多坑的微信支付
- ios開發者談談技術面試那些坑 | 掘金技術徵文iOS面試
- 支付寶APP接入的那些坑們APP
- 談談接入各種第三方推送平臺的技術方案和坑點
- [微信小程式]開發中遇到的一些“坑”微信小程式
- 小程式 遇到的坑
- 談談出入React框架踩過的坑React框架
- 微信小程式接入LeanCloud微信小程式Cloud
- 微信小程式直播接入微信小程式
- [iOS] 談談iOS多執行緒的鎖iOS執行緒
- 手把手教你接入微信支付
- 微信小程式錯誤監控方法談微信小程式
- 淺談微信小程式登陸與Oauth微信小程式OAuth
- 微信小程式的支付流程微信小程式
- 微信的三種支付方式接入:APP支付、公眾號支付、掃碼支付APP
- android微信分享、微信支付的一些坑Android
- 談 iOS 的鎖iOS
- weex與android互動初步接入,遇到的坑Android
- 遊戲接入支付寶遇到的一些問題遊戲
- Apple Watch應用開發經驗談:我遇到的那些坑APP
- vue專案接入微信JSSDK的坑VueJS
- 微信小程式微信支付流程微信小程式
- 小程式使用Picker遇到的坑
- 微信支付開發避坑指南