集成支付寶的坑

前段時間公司要接入支付寶和微信致盟,自然這個任務(wù)落到了我頭上酸员。一邊做一邊研究,微信的很順利的就集成成功了挪略,所以這里不多說露筒,按著demo走就好呐伞。這里稍微總結(jié)下集成支付寶遇到的坑。

支付寶官方demo地址慎式。

1.支付寶SDK集成時找不到#include<openssl/rsa.h>

解決方法: 添加一下路徑伶氢,記住要在路徑兩邊加上 “”

search path

添加完路徑之后,就可以順利編譯成功了瘪吏。

2.交易訂單處理失敗癣防,請稍后再試。(ALI64)

這種一般都是私鑰或者公鑰配置不正確的原因掌眠,一般來說簽名都是在服務(wù)器端配置蕾盯,然后直接返給客戶端,直接拼接成orderString即可:

NSString*orderString=[NSString stringWithFormat:@"%@&sign=\\\\"%@\\\\"&sign_type=\\\\"%@\\\\"",orderSpec,signString,@"RSA"];

但是就算服務(wù)器端出現(xiàn)了問題蓝丙,那還是我們大家一起解決吧级遭,所以問服務(wù)器端拿到了私鑰望拖,自己按照支付寶demo上的方法進行生成簽名。

運行之后發(fā)現(xiàn)控制臺打印出:rsa_private read error : private key is NULL

并且得到的sign是空的挫鸽。

google了一下發(fā)現(xiàn)是私鑰格式的問題说敏。PHP服務(wù)端語言讀取私鑰不需要PKCS8轉(zhuǎn)換。

解決辦法:

1.如果原來已經(jīng)生成了私鑰丢郊,并且已經(jīng)把公鑰傳給了阿里開發(fā)者平臺的盔沫,類似得到了下面這種

私鑰

直接打開終端,cd到私鑰(.pem文件)所在目錄,

執(zhí)行:openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

即可枫匾,終端就會生成新的私鑰給你架诞。替換一下就ok了。

2.如果還未生成公鑰和私鑰干茉,執(zhí)行一下三步谴忧,并且把公鑰上傳到阿里開發(fā)者平臺即可。

(1)生成私鑰pem, ?執(zhí)行命令openssl genrsa -out rsa_private_key.pem 1024

(2)生成公鑰,執(zhí)行命令openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

(3)將RSA私鑰轉(zhuǎn)換成PKCS8格式,命令執(zhí)行openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

接下來運行角虫,發(fā)現(xiàn)終于成功了俏蛮。和服務(wù)器溝通后,決定簽名還是由服務(wù)器返回上遥,更安全。


最新發(fā)現(xiàn)一個很惡心的問題争涌,就是當我們拼接orderString的時候

NSString*orderString=[NSString stringWithFormat:@"%@&sign=\\\\"%@\\\\"&sign_type=\\\\"%@\\\\"",orderSpec,signString,@"RSA"];

orderSpec是支付寶demo里面重寫了description方法生成的粉楚,里面拼接partner和sellerID等參數(shù)是有順序的,而signString是由服務(wù)器那邊根據(jù)生成的亮垫,服務(wù)器拼接partner和sellerID等參數(shù)我們預(yù)期參數(shù)的順序不一致模软。也就是說signString需要根據(jù)orderSpec生成,但是orderSpec由客戶端生成饮潦,signString由服務(wù)器生成燃异。這就產(chǎn)生了順序不一致導(dǎo)致ALI64的問題。

真是蛋疼的很继蜡。解決辦法是要么服務(wù)器按照客戶端的順序來拼接參數(shù)回俐,要么就連同orderSpec和signString一同返回給客戶端。

哎稀并,不容易敖銎摹!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碘举,一起剝皮案震驚了整個濱河市忘瓦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌引颈,老刑警劉巖耕皮,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件境蜕,死亡現(xiàn)場離奇詭異,居然都是意外死亡凌停,警方通過查閱死者的電腦和手機粱年,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來苦锨,“玉大人逼泣,你說我怎么就攤上這事≈凼妫” “怎么了拉庶?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長秃励。 經(jīng)常有香客問我氏仗,道長,這世上最難降的妖魔是什么夺鲜? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任皆尔,我火速辦了婚禮,結(jié)果婚禮上币励,老公的妹妹穿的比我還像新娘慷蠕。我一直安慰自己,他們只是感情好食呻,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布流炕。 她就那樣靜靜地躺著,像睡著了一般仅胞。 火紅的嫁衣襯著肌膚如雪每辟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天干旧,我揣著相機與錄音渠欺,去河邊找鬼。 笑死椎眯,一個胖子當著我的面吹牛挠将,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盅视,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捐名,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闹击?” 一聲冷哼從身側(cè)響起镶蹋,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贺归,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淆两,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年拂酣,在試婚紗的時候發(fā)現(xiàn)自己被綠了秋冰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡婶熬,死狀恐怖剑勾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赵颅,我是刑警寧澤虽另,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站饺谬,受9級特大地震影響捂刺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜募寨,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一族展、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拔鹰,春花似錦仪缸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至例书,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刻炒,已是汗流浹背决采。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坟奥,地道東北人树瞭。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像爱谁,于是被迫代替她去往敵國和親晒喷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

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