iOS微信支付中的兩次簽名(2018年初)

早就聽說微信支付文檔寫的不是很好沿后,奈何沒想到簽名這一塊整整折磨了我2天時間闷游。

網(wǎng)上招了一些資料但不是特別全面惊奇,因為2018年的微信支付跟之前的不太一樣殉了。所以自己慢慢踩坑借鑒开仰,終于做完了兩次簽名的過程。

其實很早的時候,就想寫技術(shù)blog了众弓,之前因為懶和菜的原因恩溅,現(xiàn)在希望自己能一步一個腳印把這件事干好。



話題扯遠(yuǎn)了谓娃,我們正式開始說明一下微信支付的兩次簽名

第一次簽名應(yīng)該是后臺做的脚乡,因為項目的實際情況,要求前端自己進(jìn)行簽名滨达。

因為要請求統(tǒng)一下單接口才能獲得調(diào)起微信支付功能所需要的prepay_id

統(tǒng)一下單接口

而請求這個接口又需要簽名奶稠,我調(diào)試支付時大多數(shù)時間都卡在了第一次簽名,因為文檔寫的太簡單了捡遍。


簽名算法

很明顯的是锌订,你首先要把算法寫對。算法如下:


第一次簽名的算法

這里的signParams的字典里放的是加密必須要的字段画株。注意辆飘,這里所需的字段是請求統(tǒng)一下單的接口里面的所有的字段(除開要生成的sign),很多人都因為被官方文檔誤導(dǎo)了谓传,少了一些字段去生成簽名蜈项,然后請求統(tǒng)一下單的接口爷辱,會報簽名失敗的錯誤锋谐。


根據(jù)自身傳的值來填寫

算法是首先字典轉(zhuǎn)成字符串,然后按照首字母順序排序悍募,加上密鑰的key

然后你會遇到第二個坑庸推,這個密鑰key不是appSecret常侦,而是API密鑰,需要在商戶平臺設(shè)置

最后再進(jìn)行MD5加密就行了



拿到正確的sign之后贬媒,就可以請求接口啦~


請求接口代碼

請求接口時聋亡,需要注意兩點:

1、需要對字典轉(zhuǎn)xml

? ? 轉(zhuǎn)xml有兩種方式际乘,第一種可以自己組裝坡倔,第二種可以用XMLDictionary

2、請求的字段必須和簽名的字段一樣(除sign外)

? ? 不一樣鐵定報簽名失敗的錯

我這邊用的是官方方法請求的脖含,注意要使用POST請求罪塔,并且加上UTF-8



請求成功后,返回值會是這樣的:


成功的返回

如果你的result_code為FAIL养葵,請根據(jù)錯誤碼來尋找哪里的問題

這樣你就拿到了prepay_id征堪,可以進(jìn)行調(diào)起微信支付的操作了。


調(diào)起微信支付的代碼

首先关拒,接口的返回值格式是xml的佃蚜,你需要將他轉(zhuǎn)成字典格式庸娱。我用的是開源庫XMLDictionary

返回值里有用的幾個字段分別是:

appidprepay_id谐算、mch_id熟尉、nonce_str

都是跟自己傳的一一對應(yīng)的

其他要傳的字段

packge必須寫為Sign=WXPay

timeStamp必須是10位的時間戳

要傳sign不是返回值里的sign,而是第二次簽名需要生成的sign


第二次簽名的代碼

還是老規(guī)矩洲脂,排序然后MD5加密最后加上API商戶密鑰

這樣你就可以成功調(diào)起微信支付啦~


調(diào)起微信支付



我遇到的所有的坑都寫出來了斤儿,如果有其他的問題可以留言或者自己根據(jù)錯誤代碼來排查問題。

? ? 調(diào)試第三方SDK需要耐心和時間恐锦,同仁們多給點時間和耐心往果,相信你一定會成功~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市踩蔚,隨后出現(xiàn)的幾起案子棚放,更是在濱河造成了極大的恐慌枚粘,老刑警劉巖馅闽,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馍迄,居然都是意外死亡福也,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門攀圈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暴凑,“玉大人,你說我怎么就攤上這事赘来∠衷” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵犬辰,是天一觀的道長嗦篱。 經(jīng)常有香客問我,道長幌缝,這世上最難降的妖魔是什么灸促? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮涵卵,結(jié)果婚禮上浴栽,老公的妹妹穿的比我還像新娘。我一直安慰自己轿偎,他們只是感情好典鸡,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坏晦,像睡著了一般萝玷。 火紅的嫁衣襯著肌膚如雪伊者。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天间护,我揣著相機與錄音亦渗,去河邊找鬼。 笑死汁尺,一個胖子當(dāng)著我的面吹牛法精,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痴突,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼搂蜓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辽装?” 一聲冷哼從身側(cè)響起帮碰,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拾积,沒想到半個月后殉挽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡拓巧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年斯碌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肛度。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡傻唾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出承耿,到底是詐尸還是另有隱情冠骄,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布加袋,位于F島的核電站凛辣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏锁荔。R本人自食惡果不足惜蟀给,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望阳堕。 院中可真熱鬧跋理,春花似錦、人聲如沸恬总。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽壹堰。三九已至拭卿,卻和暖如春骡湖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背峻厚。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工响蕴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惠桃。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓浦夷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辜王。 傳聞我的和親對象是個殘疾皇子劈狐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 引言 秋高氣爽肥缔,天氣轉(zhuǎn)涼,正是學(xué)習(xí)工作做的好時候汹来。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是個phper最近在寫微信支付...
    恩就是這個名閱讀 7,940評論 2 15
  • 一续膳、背景介紹 作為一名Android開發(fā),從最初的跌跌撞撞到現(xiàn)在小有所悟俗慈,這其中經(jīng)歷過的辛酸苦辣也是一種痛并快樂著...
    freecats08閱讀 4,821評論 7 54
  • 自己總結(jié)的微信支付寶支付流程和注意點: 準(zhǔn)備工作: 需要公司的營業(yè)執(zhí)照姑宽,稅務(wù)信息遣耍,等老板的身份證信息等闺阱,我記得,用...
    Www劉閱讀 18,556評論 2 50
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理舵变,服務(wù)發(fā)現(xiàn)酣溃,斷路器,智...
    卡卡羅2017閱讀 134,626評論 18 139
  • 【字】~逢 【詞】~萍水相逢 【句】~萍水相逢的水纪隙,水枯竭的快嗎赊豌? 【文】他和她沒有故事,雙方都暗暗想聽對方故事而...
    老區(qū)游子閱讀 286評論 1 2