APP 接入支付寶支付沧烈,后端 notify_url 收不到支付寶主動(dòng)通知的解決方法

最近在做一個(gè) iOS 應(yīng)用的后端,做到了支付部分像云。
(后端用的是 PHP锌雀,如果你對(duì)這個(gè)感興趣的話)

按支付寶文檔的業(yè)務(wù)流程,
iOS 調(diào)支付寶的時(shí)候需要傳入一個(gè) notify_url
當(dāng)交易狀態(tài)發(fā)生變化時(shí)迅诬,支付寶服務(wù)器會(huì)主動(dòng)通知 notify_url腋逆,
POST傳遞數(shù)據(jù),JSON格式侈贷。

</br>

可能的坑1:主機(jī)提供商擋住了支付寶發(fā)來(lái)的請(qǐng)求

這里踩到了一個(gè)坑就是支付寶支付成功之后惩歉,notify_url 一直沒(méi)收到支付寶的主動(dòng)通知

后來(lái)發(fā)現(xiàn)是主機(jī)提供商(我們的測(cè)試服務(wù)器是"主機(jī)殼")的管理界面,
有個(gè)過(guò)濾 User-Agent 的設(shè)置俏蛮。
如果 user-agent 是空就攔截什么的撑蚌。不記得了。
把鉤去掉就好了嫁蛇,
調(diào)了半天結(jié)果是因?yàn)榉?wù)商攔下了支付寶的請(qǐng)求锨并,所以到不了我們的程序。

</br>

可能的坑2:notify_url 不要帶參數(shù)

我們之前是 https://xxx/?m=api&c=alipay&a=notify_toho
后來(lái)改成 https://xxx/alipay.php
就好了

</br>

可能的坑3:證書(shū)路徑問(wèn)題

簽名死活不對(duì)睬棚,老是

responseTxt=true
 notify_url_log:isSign=false,discount=0.00&payment_type=1&subject=

注意 isSign = false

于是我決定調(diào)試下驗(yàn)證簽名的地方第煮,

function getHttpResponseGET($url,$cacert_url) {
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_HEADER, 0 ); // 過(guò)濾HTTP頭
    curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);// 顯示輸出結(jié)果
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//SSL證書(shū)認(rèn)證
    curl_setopt($curl, CURLOPT_CAINFO,$cacert_url);//證書(shū)地址
    $responseText = curl_exec($curl);
    // var_dump( curl_error($curl) );//如果執(zhí)行curl過(guò)程中出現(xiàn)異常解幼,可打開(kāi)此開(kāi)關(guān),以便查看異常內(nèi)容
    logResult(curl_error($curl));

    curl_close($curl);

    return $responseText;
}

我在這里加了個(gè) logResult(curl_error($curl));
發(fā)現(xiàn)輸出 Problem with the SSL CA cert (path? access rights?)
網(wǎng)上給的解決方法都不管用
(什么重啟服務(wù)器啊, 更新ca-certificates 包啊包警,都不行)

后來(lái)發(fā)現(xiàn)原來(lái)是:
$alipay_config['cacert'] = getcwd().'\\cacert.pem';
如果你在 windows 上測(cè)試撵摆,
echo file_get_contents($alipay_config['cacert']);
是可以的,

但是 linux 就不一樣了害晦。
echo file_get_contents($alipay_config['cacert']); 啥也沒(méi)輸出特铝,說(shuō)明路徑不對(duì)。
改成如下就可以了
$alipay_config['cacert'] = getcwd().'/cacert.pem';

再次輸出就沒(méi)有 Problem with the SSL CA cert (path? access rights?) 這個(gè)問(wèn)題了

所以說(shuō)這個(gè)問(wèn)題只要把 \ 改成 / 就行了 = =

</br>

可能的坑4:支付寶公鑰換行

http://blog.csdn.net/huyiyang2010/article/details/38066273

之前一直都是一行壹瘟,

-----BEGIN PUBLIC KEY-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbzzzzzzzzzzzzzzzzzzzzzzzz-----END PUBLIC KEY-----
這里簡(jiǎn)書(shū)的格式好像有點(diǎn)問(wèn)題鲫剿,PUBLIC 兩邊太多空格了。

后來(lái)64個(gè)字符一行稻轨,如上文灵莲,就好了。殴俱。isSign=True

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
zzzzzzzzzzzzzzzzzzzzzzzz
-----END PUBLIC KEY-----```

真是無(wú)力吐槽

responseTxt=true
notify_url_log:isSign=true

現(xiàn)在兩個(gè)都是 true政冻。
問(wèn)題解決。
后端現(xiàn)在不但能正常收到請(qǐng)求而且能正常處理了线欲。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末明场,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子李丰,更是在濱河造成了極大的恐慌苦锨,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趴泌,死亡現(xiàn)場(chǎng)離奇詭異逆屡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)踱讨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)砍的,“玉大人痹筛,你說(shuō)我怎么就攤上這事±希” “怎么了帚稠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)床佳。 經(jīng)常有香客問(wèn)我滋早,道長(zhǎng),這世上最難降的妖魔是什么砌们? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任杆麸,我火速辦了婚禮搁进,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昔头。我一直安慰自己饼问,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布揭斧。 她就那樣靜靜地躺著莱革,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讹开。 梳的紋絲不亂的頭發(fā)上盅视,一...
    開(kāi)封第一講書(shū)人閱讀 52,196評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音旦万,去河邊找鬼闹击。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纸型,可吹牛的內(nèi)容都是我干的拇砰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼狰腌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼除破!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起琼腔,我...
    開(kāi)封第一講書(shū)人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瑰枫,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后丹莲,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體光坝,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年甥材,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盯另。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洲赵,死狀恐怖鸳惯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叠萍,我是刑警寧澤芝发,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站苛谷,受9級(jí)特大地震影響辅鲸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腹殿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一独悴、第九天 我趴在偏房一處隱蔽的房頂上張望例书。 院中可真熱鬧,春花似錦绵患、人聲如沸雾叭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)织狐。三九已至,卻和暖如春筏勒,著一層夾襖步出監(jiān)牢的瞬間移迫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工管行, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留厨埋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓捐顷,卻偏偏與公主長(zhǎng)得像荡陷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子迅涮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

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