開發(fā)第三方支付功能(續(xù))

上次有講到最近開發(fā)支付功能献酗,開發(fā)中碰到的一些問題蠢莺,因為之前很少接觸支付功能的開發(fā),所以項目要求在H5中要迅速打通微信支付功能以及支付寶支付功能蝇闭,我在前一篇文章中選擇了支付寶當面付支付以及微信Native掃碼付支付呻率。

? ? ? ? 但是在H5中使用支付寶當面付支付以及微信Native掃碼付支付真的合適么,如果我們拋開用戶體驗來講呻引,確實支付寶當面付支付可以滿足我們的需求了礼仗,用戶在H5中保存二維碼,然后進入支付寶進行掃碼付款操作逻悠,整個流程是沒問題的元践。但是微信Native掃碼付支付呢,這里面其實就有個坑童谒,微信Native掃碼付只能進行掃碼支付卢厂,而且不能支持從相冊中選擇二維碼,也就是說微信Native掃碼付支付只支持當面掃碼支付惠啄,而用戶使用不可能總是攜帶兩個手機慎恒,一只顯示二維碼,一個用戶掃碼支付撵渡,這有點不切實際融柬。而我寫上篇文章的時候測試因為用電腦顯示二維碼,手機直接掃碼支付所以當時沒發(fā)現(xiàn)這個問題趋距。所以說在不考慮用戶體驗的角度來說粒氧,支付寶當面付支付可以滿足我的需求了,但是微信Native需求滿足不了我的基本需求了节腐,所以微信Native掃碼付支付方式被我pass掉了外盯,然后我去查閱文檔發(fā)現(xiàn)摘盆,其實微信是有提供H5端直接跳轉(zhuǎn)微信進行支付操作的,而這剛好是我需要的饱苟,而且直接跳轉(zhuǎn)微信進行支付大大提高了用戶的體驗性孩擂,所以我最后改寫支付功能的時候我選擇了微信H5支付。接下來說說微信H5支付遇到的一些坑箱熬。

微信支付踩過的坑

1.網(wǎng)絡(luò)環(huán)境未能通過安全驗證类垦,請稍后再試

微信H5支付需要傳遞用戶支付的真實ip給微信進行校驗。這個bug其實是因為用戶實際調(diào)起支付時微信側(cè)檢測到的終端IP和商戶端我們傳給微信的用戶的終端ip不一致導(dǎo)致的城须。其實在公司內(nèi)網(wǎng)進行測試的時候是沒問題的蚤认,可以獲取到用戶當前操作的真實ip,測試支付功能完全沒問題糕伐。但是我上傳外網(wǎng)的時候就出問題了砰琢,外網(wǎng)測試獲取到的ip不是用戶的真實ip,導(dǎo)致微信端獲取到的ip與我們獲取到的ip不一致良瞧,導(dǎo)致網(wǎng)絡(luò)環(huán)境無法通過校驗氯析。


上圖就是我在外網(wǎng)測試得到的用戶ip,因為外網(wǎng)有nginx反向代理莺褒。所以我們獲取到的ip其實是nginx的代理地址,而真實ip我們是無法得到的雪情。后來經(jīng)過查閱文檔發(fā)現(xiàn)配置nginx可以將用戶真實ip進行傳遞遵岩。

我在外網(wǎng)nginx添加以上配置,果然就可以獲取到當前用戶進行支付時的真實ip巡通。

2.商家參數(shù)格式有誤尘执,請聯(lián)系商家解決

這是微信官方文檔對這個問題的解釋,這是什么意思呢宴凉?其實進行微信支付時微信會返回一個mweb_url給你進行支付誊锭,我們在申請H5支付時會設(shè)置授權(quán)域名,網(wǎng)頁調(diào)取支付H5支付返回的mweb_url 弥锄,必須要獲取H5支付頁面自帶的referer才行(問題是當前調(diào)起H5支付的referer為空導(dǎo)致)丧靡,導(dǎo)致referer為空的原因其實是因為微信返回的mweb_url我們直接進行訪問導(dǎo)致的,而直接訪問mweb_url就會導(dǎo)致無法獲取到H5支付頁面自帶的referer籽暇,所以我們在H5中進行點擊跳轉(zhuǎn)到mweb_url中就解決了這個問題了温治。

3.商家存在未配置的參數(shù),請聯(lián)系商家解決

這個問題比較簡單戒悠,當前調(diào)起H5支付的域名(微信側(cè)從referer中獲取)與申請H5支付時提交的授權(quán)域名不一致熬荆,我們登錄商戶平臺--"產(chǎn)品中心"--"開發(fā)配置"配置當前調(diào)起支付的授權(quán)域名即可。

微信H5支付因為是從Native支付方式進行改寫的绸狐,所以難度相比重新開發(fā)小了很多卤恳。在開發(fā)過程中主要時碰到了上述三個問題累盗,在這里記錄一下。

歡迎關(guān)注我的個人公眾號:周先生自留地


把微信H5支付完善了之后突琳,你看到兩個支付功能一個截圖再去掃碼若债,一個直接跳轉(zhuǎn)微信支付,其實你會不知不覺的開始考慮用戶體驗本今,所以我就去看了支付寶官方文檔拆座,支付寶可不可以實現(xiàn)我們直接從H5端直接跳轉(zhuǎn)支付寶進行支付呢,答案是可以的冠息,支付寶有手機網(wǎng)站支付方式挪凑,用戶手機安裝支付寶會直接跳轉(zhuǎn)支付寶進行支付,用戶沒有安裝支付寶可以在H5端登錄支付寶進行支付逛艰。于是我又開始了把支付寶當面付功能改寫成支付寶H5支付方式躏碳。下面講講支付寶H5支付碰到的一些問題。

1.簽名問題

這個問題其實是由于公司賬號申請支付寶H5支付的時候使用了RSA2加密算法散怖,但是之前用的當面付還是使用的RSA算法菇绵,因為工作交接不徹底的緣故我不清楚,所以導(dǎo)致簽名驗證一直失敗镇眷。后面我將app_id更換成H5支付的app_id,加密算法改成了RSA2算法咬最,就解決簽名問題了。

2.無效的app_id參數(shù)

這個問題真的是不應(yīng)該犯的錯誤,因為我用了正式環(huán)境的app_id秃嗜,但是我地址卻使用了沙箱環(huán)境的地址橙弱,兩者不匹配導(dǎo)致的無效的app_id,我改成正式地址之后就解決這個問題了翅雏。

可能是因為支付寶集成的比較好,我從當面付支付改寫成H5支付沒有遇到什么比較困難的問題人芽,而且文檔寫的也比較清楚望几,支付寶H5支付相比于當面付其實就是支付方式從alipay.trade.precreate改成了apipay.trade.wap.pay,以及biz_content添加一個product_code的固定參數(shù),所以思路比較清晰萤厅,改寫起來沒有花費特別多的時間就完成了橄抹。

到這里,支付寶H5端支付與微信H5端支付都完成了內(nèi)外網(wǎng)測試惕味,解決了需求了害碾。這篇文章就寫到這里了,謝謝觀看赦拘。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慌随,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阁猜,老刑警劉巖丸逸,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剃袍,居然都是意外死亡黄刚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門民效,熙熙樓的掌柜王于貴愁眉苦臉地迎上來憔维,“玉大人,你說我怎么就攤上這事畏邢∫蛋牵” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵舒萎,是天一觀的道長程储。 經(jīng)常有香客問我,道長臂寝,這世上最難降的妖魔是什么章鲤? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮咆贬,結(jié)果婚禮上败徊,老公的妹妹穿的比我還像新娘。我一直安慰自己掏缎,他們只是感情好皱蹦,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著御毅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怜珍。 梳的紋絲不亂的頭發(fā)上端蛆,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音酥泛,去河邊找鬼今豆。 笑死,一個胖子當著我的面吹牛柔袁,可吹牛的內(nèi)容都是我干的呆躲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捶索,長吁一口氣:“原來是場噩夢啊……” “哼插掂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤辅甥,失蹤者是張志新(化名)和其女友劉穎酝润,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體璃弄,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡要销,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了夏块。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疏咐。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖脐供,靈堂內(nèi)的尸體忽然破棺而出浑塞,到底是詐尸還是另有隱情,我是刑警寧澤患民,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布缩举,位于F島的核電站,受9級特大地震影響匹颤,放射性物質(zhì)發(fā)生泄漏仅孩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一印蓖、第九天 我趴在偏房一處隱蔽的房頂上張望辽慕。 院中可真熱鬧,春花似錦赦肃、人聲如沸溅蛉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽船侧。三九已至,卻和暖如春厅各,著一層夾襖步出監(jiān)牢的瞬間镜撩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工队塘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留袁梗,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓憔古,卻偏偏與公主長得像遮怜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鸿市,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

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

  • (轉(zhuǎn))常用dos命令 一锯梁,ping 它是用來檢查網(wǎng)絡(luò)是否通暢或者網(wǎng)絡(luò)連接速度的命令即碗。作為一個生活在網(wǎng)絡(luò)上的管理員或...
    都不許我哭閱讀 246評論 0 0
  • 轉(zhuǎn)載:社交榜 Top 5 產(chǎn)品,4 個月騙取 3000 萬+ 文章轉(zhuǎn)自:iGrowth增長偵探社 在文章的開頭涝桅,探...
    村里的顏值擔當閱讀 1,112評論 0 0
  • 原來是我會錯意了拜姿,我想的太多,不好意思冯遂,余生也不需要指教了蕊肥。這段時間當我喂給狗了 我現(xiàn)在需要做的,不是死乞白賴的問...
    軟萌小草莓閱讀 161評論 0 0
  • 剛才翻看了2016年的總結(jié)和2017年的規(guī)劃炒俱,我驚訝地發(fā)現(xiàn)盐肃,自以為一事無成的2016年,我竟然做了那么多的事权悟。 2...
    怡記閱讀 815評論 4 14