iOS微信支付開發

第一次集成微信支付出現了很多問題,當然微信支付如果是后臺返回二次簽名數據,這樣做的話,就簡單很多了,本文主要集中講解的是微信支付如何在本地生成預支付訂單,以及預支付訂單的二次簽名(ps.第一次寫這樣的文章,在文章中有不正確的地方,非常歡迎各位的指正,也很樂意和大家一起探討)文章分兩部分,第一部分講如何集成微信支付,第二部分講如何在本地生成預支付訂單、以及預支付訂單的二次簽名,

一、如何集成微信支付

集成微信支付需要導入SystemConfiguration.framework

libz.dylib

libsqlite3.0.dylib

libc++.dylib

這幾個文件,當然添加微信支付的SDK是必不可少的

1、在AppDelegate的- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions方法里面注冊微信支付


在方法- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url options:(nonnullNSDictionary *)options寫入代碼

遵守微信的代理方法@interfaceAppDelegate(),并實現代理方法


到這里AppDelegate的操作就算完成了,

2、在需要支付的事件里面加入微信支付代買:


到這里整個微信支付的過程就算是完成了,在集成微信支付后往往出現很多錯誤,比如說調起微信支付后,只顯示確認按鈕,卻沒有訂單信息,返回提示是用戶取消支付的話,這是由于訂單信息有誤,在后面我會提到我在集成中遇到的錯誤

二、如何在本地提交預支付訂單以及進行二次簽名

在這一部分可以說,話了我絕大部分的時間,在網上找Demo,看微信的文檔,等等...雖然網上有一些這樣的Demo,但是我在學習中,卻發現不少問題,Demo里面相關注釋太少,不是無法調起微信支付就是報各種錯誤,在咨詢身邊朋友和研究微信支付的文檔后,逐步將微信支付的整個流程弄明白。下面我將對本地提交預支付訂單和進行二次簽名做一個詳細的介紹,當然是在我所理解的范圍內,我也是第一次集成微信支付,中間的一些錯誤,或者不當之處還請各位大神提出,

1、如何提交預支付訂單

1.1預支付訂單的參數有那些,怎么去提交預支付訂單。

從微信的文檔里面我們可以知道預支付訂單的參數有這些



示例代碼:


現在微信的預支付訂單信息已經生成好了,在提交預支付訂單以前需要對訂單進行排序和MD5加密的簽名


這是獲取簽名的方法,在獲取簽名后要對訂單進行一個XML編碼:


在將訂單信息拼接成XML之后還需要拼接一個sign,也就是上面得到的簽名,當進行玩上面所述的兩步之后就需要獲取prepayid了,獲取prepayid需要將訂單信息提交到微信服務器


在提交過后就能獲得prepayid了,當進行到這一步也就完成了一大半了。

在獲取prepaid后就能進行二次簽名了,二次簽名的參數有:


進行二次簽名:


到這一步,本地進行預支付,以及二次簽名的過程也就完成了,

在完成二次簽名后,將返回的數據調用第一部分的方法就能實現微信支付,但是在這其中需要特別注意:這里返回的時間戳是一個字符串,需要在調用支付的方法中將時間戳強轉為int或long型數據,我在這里就吃了不少的虧!


上圖為2017年最新的視頻教程資料,搜索235再填上214最后輸入9755加我好友私聊我上傳視頻教程,有什么不懂的也可以來私聊問我。

不定時更新中。

如果你能明白這些視頻資料的好差,那么你也算是入行了,底層和中高層就是這一步之差。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一:介紹 項目中要用到支付功能,需要支付寶支付、支付寶網頁支付、微信支付、銀聯支付、Apple_pay,所以打算總...
    Swift社區閱讀 10,537評論 5 25
  • 一、背景介紹 作為一名Android開發,從最初的跌跌撞撞到現在小有所悟,這其中經歷過的辛酸苦辣也是一種痛并快樂著...
    freecats08閱讀 4,868評論 7 54
  • 今日推薦 經常閱讀博客是個好習慣推薦鴻洋CSDN的博客 微信支付相關文章 詳細介紹Android開發集成微信支付(...
    MrQ_Android閱讀 6,202評論 9 52
  • 這不是小說,更像是一部自傳,我只是把自己經歷的故事講給你們聽罷了。當然,我在文中使用了虛假的姓名和時間,還借用了某...
    白易閱讀 385評論 0 1
  • #海莎分享# 2 推薦一個關于拖延癥的演講,Tim Urban以幽默風趣的形式給人們很大的警醒。 最可怕的拖延不是...
    楊啥啥閱讀 151評論 0 0