一、前記
可以下載微信提供的官方DEMO照著寫,基本功能大致就夠了。
二、導入SDK(搭建環境)
雖然主要工作都在服務器端,不過要調起微信,所以還是需要有個SDK的。
為了方便SDK升級,考慮到部分功能調整,可以對SDK做封裝,這樣即使微信SDK大改對項目直接傷害會很小。同樣,能更新SDK也建議更新SDK。
導入SDK記得還要導入SDK依賴的庫。
需要注意一點需要在Build Settings->Other Linker Flags設置-ObjC。
附:主要是因為OC語言中類別,Unix的標準靜態庫實現和Objective-C的動態特性之間有一些沖突:OC沒有為每個函數(或者方法)定義鏈接符號,它只為每個類創建鏈接符號。這樣當在一個靜態庫中使用類別來擴展已有類的時候,鏈接器不知道如何把類原有的方法和類別中的方法整合起來,就會導致你調用類別中的方法時,出現錯誤。為了解決這個問題,引入了-ObjC標志,它的作用就是將靜態庫中所有的和對象相關的文件都加載進來。
另外還有兩個方法,分別是用來全部導入和部分導入。使用-all_load 或者-force_load標志,它們的作用都是加載靜態庫中所有文件,不過all_load作用于所有的庫,而-force_load后面必須要指定具體的文件。
需要配置URL Type微信相關
三、實現微信支付
注冊,把注冊碼調用注冊方法傳進去。
客戶端需要一個發起支付的方法
請求商戶服務器獲取預付單ID(prepay_id)
請求微信支付SDK,發起支付。
之前服務器返回是一個Model,所以可以建一個模型類,接收到服務器返回的數據時,直接轉為模型。
之前提到了,簽名有很多需要注意的地方。一不小心,簽名失敗。
簽名失敗情況.png
當一切順暢,支付成功時。
支付成功時.png
下一篇:007-移動支付05-微信支付-安卓客戶端開發