因爲項目須要用到PayPal, 就去研究了下paypal,可是PayPal須要TLS 1.2, 就google了一把,這裏把整個流程寫下來php
Tips:git
公司服務器總體結構是 windows 2008R2 + IIS + PHPgithub
使用PhpStudy,使用其餘的也沒問題apache
說一下win7也能夠, 能夠拿來作測試.若是使用win7來測試,須要控制面板>程序和功能>啓用和關閉windows組件 開啓IIS組件(怎樣開啓,自行google)windows
若是服務器是apache,只須要使用高版本的php_openssl擴展就好了,選用apche+PHP5.5n我已經確承認用, php5.6會報錯找不到某某加密函數api
PayPal的需求是bash
PHP_VERSION >= 5.3服務器
php_curl
, php_openssl
必須啓用composer
composer(怎樣安裝參考http://www.phpcomposer.com)curl
phpStudy切換到 IIS7/8 + PHP 5.5n
這裏說一聲, 選這PHP 5.5以前的版本, 因爲openssl擴展的版本太低, 可能不支持, 我選5.4就不支持
地址:https://github.com/paypal/Pay...
克隆到你的網站目錄
打開git bash
git clone https://github.com/paypal/PayPal-PHP-SDK.git paypal cd paypal composer update
其實就是把代碼下載下來, 複製到paypal目錄, 而後在目錄在命令行執行composer update
分爲2步, 添加TLS配置和禁用老的SSL版本
提供兩種方法, 選擇其中一種就好了
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
右鍵->新建->項->新建TLS 1.1
,TLS 1.2
TLS 1.1和TLS 1.2 右鍵->新建->項->新建Server
, Client
在新建的Server和Client中都新建以下的項(DWORD 32位值), 總共4個
DisabledByDefault [Value = 0] Enabled [Value = 1]
如圖
以下, 是我從個人註冊表裏面導出來的, 新建文本文件, 後綴名改成reg就好了, 雙擊導入
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] "DisabledByDefault"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enable"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enable"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enable"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault "=dword:00000000 "Enable"=dword:00000001
打開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client
配置以下
DisabledByDefault [Value = 0] Enabled [Value = 0]
打開網站, 個人是部署到局域網的,
192.168.1.99/paypal/sample
若是你配置了apiContent是有數據出來的,我沒有配置, 因此就只是No Data