上一篇:005-移動支付03-微信支付-服務器開發(fā)注意事項
一、前記
可以下載微信提供的官方DEMO照著寫断箫,基本功能大致就夠了拂酣。
二、導入SDK(搭建環(huán)境)
雖然主要工作都在服務器端仲义,不過要調起微信婶熬,所以還是需要有個SDK的。
為了方便SDK升級埃撵,考慮到部分功能調整赵颅,可以對SDK做封裝,這樣即使微信SDK大改對項目直接傷害會很小暂刘。同樣饺谬,能更新SDK也建議更新SDK。
導入SDK記得還要導入SDK依賴的庫谣拣。
需要注意一點需要在Build Settings->Other Linker Flags設置-ObjC募寨。
附:主要是因為OC語言中類別,Unix的標準靜態(tài)庫實現(xiàn)和Objective-C的動態(tài)特性之間有一些沖突:OC沒有為每個函數(shù)(或者方法)定義鏈接符號森缠,它只為每個類創(chuàng)建鏈接符號拔鹰。這樣當在一個靜態(tài)庫中使用類別來擴展已有類的時候,鏈接器不知道如何把類原有的方法和類別中的方法整合起來贵涵,就會導致你調用類別中的方法時列肢,出現(xiàn)錯誤恰画。為了解決這個問題,引入了-ObjC標志例书,它的作用就是將靜態(tài)庫中所有的和對象相關的文件都加載進來锣尉。
另外還有兩個方法,分別是用來全部導入和部分導入决采。使用-all_load 或者-force_load標志自沧,它們的作用都是加載靜態(tài)庫中所有文件,不過all_load作用于所有的庫树瞭,而-force_load后面必須要指定具體的文件拇厢。
需要配置URL Type微信相關
三、實現(xiàn)微信支付
注冊晒喷,把注冊碼調用注冊方法傳進去孝偎。
客戶端需要一個發(fā)起支付的方法
請求商戶服務器獲取預付單ID(prepay_id)
請求微信支付SDK,發(fā)起支付凉敲。
之前服務器返回是一個Model衣盾,所以可以建一個模型類,接收到服務器返回的數(shù)據(jù)時爷抓,直接轉為模型势决。
之前提到了,簽名有很多需要注意的地方蓝撇。一不小心果复,簽名失敗。
當一切順暢渤昌,支付成功時虽抄。
下一篇:007-移動支付05-微信支付-安卓客戶端開發(fā)