PHP PC端接入支付寶和微信感悟

想着中秋節的時候把異步線程學習完,同事說有個PHP的支付要幫忙作一下,雖然中秋節計劃是把C#的異步學完,不過仍是喜歡挑戰,很久沒有像大學同樣這麼認真的熬夜解決問題了。因爲在大學學過asp,它和php有點相似,就這樣稀裏糊塗的開始作PHP PC端的支付功能。也不敢說這是一篇對支付的總結,只是主要是記錄下遇到的坑。php

1.環境配置phpstudy安裝(具體使用也不難挺簡單的)html

以前也沒深刻研究過PHP,也就是大概瞭解了下,也知道它是用mysql、apache,但不知道用什麼軟件,仍是問的同事,在網上下載的phpstudy,這裏在安裝的時候就遇到一個坑,啓動apache啓動不了,本身當時也百度了好大一會,最後在它的使用手冊中找到了解決方法。mysql

phpStudy啓動失敗,緣由一是防火牆攔截,二是80端口已經被別的程序佔用,如IIS,迅雷等;三是沒有安裝VC9運行庫,php和apache都是VC9編譯。解決以上三個問題,99%能一次性安裝成功sql

爲了減小出錯安裝路徑不得有漢字,若有防火牆開啓,會提示是否信任httpd、mysqld運行,請選擇所有容許。thinkphp

因爲牽扯到註冊服務、自解壓等,個別弱智傻X殺毒衛士會誤報病毒,不放心的能夠安裝後自行掃描。apache

32位的VC9運行庫下載:http://www.microsoft.com/zh-CN/download/details.aspx?id=5582
64位的VC9運行庫下載:http://www.microsoft.com/zh-CN/download/details.aspx?id=15336 服務器

不是管理員administrator的用戶,請右鍵以管理員身份運行。牽扯到服務進程的管理必須以管理員身份運行。 微信

端口問題沒法啓動時,請使用菜單『環境端口檢測』進行端口檢測,嘗試啓動。最重要的一點,你的機子必定要安裝VC9運行庫,phpStudy安裝路徑不得有漢字。
2013版菜單名爲『強制啓動端口』 異步

2.開發環境學習

剛開始瞭解的時候用的是NotePad++,查看的時候還能夠,多是本身php用的不熟悉,用NotePad++基本只是看下大概。項目的目錄結構也看不出來。因而乎本身又下載了PHP Eclipse,有了它能把整個的項目結構瞭解清楚。

3.花生殼的使用

在接入支付寶和微信的時候都要配置回調的url,而這個url要能外界訪問,不能是127.0.0.1,否則支付寶微信怎麼回調通知支付結果,但我又沒有域名和服務器,當時真是一直糾結這個問題,仍是同事說能夠用花生殼,以前也據說過花生殼,但具體沒用過,此次算是體驗了一把。有了它即便局域網也能夠部署服務器來進行測試。

4.支付接入

對於支付接入網上有大把的例子,因爲是第一次作,沒經驗,對支付寶和微信接入流程也不熟悉,因此在這塊浪費了好多的時間。對於接入的前期準備有必要詳細的瞭解。

1.支付寶接入

在PC端網站接入使用的是即時到帳,https://b.alipay.com/signing/productSet.htm?navKey=all,這個通常是公司來作,簽約成功以後纔可使用MD5的方式來支付,做爲開發者來講能夠在沙盒環境來模擬支付。模擬支付我沒找到MD5加密的方式支付。其中最重要的是notify_url和return_url。這兩個設置成功支付寶會在支付成功以後自動跳轉到回調頁面。

在支付寶接入demo測試配置項採用RSA加密方式會報下面的錯誤:

Fatal error: Call to undefined function openssl_get_privatekey() inC:\Users\Administrator\Desktop\create_direct_pay_by_user-PHP-UTF-8\lib\alipay_rsa.function.php on line26

 解決方法:

經過phpstudy中打開php.ini文件   ctrl+F 查找

extension=php_openssl.dll 去掉前面的分號 重啓服務

2.微信支付

微信支付使用的是V3的模式二支付,感受微信支付比支付寶支付比較坑的就是跳轉的問題,微信掃描成功支付後不能自動回調,看網上說要經過js輪詢根據訂單號查詢訂單狀態來跳轉。感受好坑好坑。

3.代碼

代碼網上有好多demo,http://www.thinkphp.cn/code/240.html這個的就很不錯。

相關文章
相關標籤/搜索