php銀聯支付
簡介
PHP銀聯支付
流程
1、註冊 銀聯 - 技術開發平臺和商戶服務平臺
注意:註冊時建議使用IE瀏覽器,之前註冊時外掛老是用不了,使用IE10以下瀏覽器,另外當時使用的時候老是出現問題,原來是在剛好在維護。有什麼不明白的可以問問客服。
2、下載demo
https://open.unionpay.com/tjweb/acproduct/list?apiservId=448
demo下載完畢,檢視說明檔案
將PHP Version SDK 下的 upacp_demo_b2c 目錄複製到PHP環境
修改配置檔案 ...\upacp_demo_b2c\sdk\acp_sdk.ini
//主要修改伺服器證書地址和證書密碼 acpsdk.signCert.path=D:/certs/acp_test_sign.pfx acpsdk.encryptCert.path=d:/certs/acp_test_enc.cer acpsdk.middleCert.path=D:/certs/acp_test_middle.cer acpsdk.rootCert.path=D:/certs/acp_test_root.cer acpsdk.signCert.pwd=000000 //測試的話,如果時windows,直接把 ...\upacp_demo_b2c\assets\測試環境證書 目錄複製到 d盤 重新命名'certs' 即可
3、 我要測試
有需要demo測試的引數資訊以及支付的測試賬號
4、執行demo
將demo放置php環境中
執行 ...\upacp_demo_b2c\index_01_gateway.php
填寫測試引數中的資訊,跳轉到銀聯支付頁面,支付成功後有回撥
拿閘道器支付為例:
index_01_gateway.php只是頁面,點選按鈕後執行的是
upacp_demo_b2c\demo\api_01_gateway\Form_6_2_FrontConsume.php
裡面是請求銀聯支付,
請求需要提供回撥地址即支付後完成的動作,需要外網能訪問,詳細見程式碼。
說明
說說如何放置專案中
1、複製到專案中第三方類庫目錄中 如 libs 等
2、可以封裝一個銀聯支付類
拿閘道器支付為例:
將 upacp_demo_b2c\demo\api_01_gateway\Form_6_2_FrontConsume.php
改寫為銀聯支付類的一個支付方法
其它檢查支付狀態等 也一樣,參考demo 改寫為類的一個方法
3、修改配置
acp_sdk.ini //配置檔案
SDKConfig.php //返回配置資訊的類
可以改 acp_sdk.ini 中的證書路徑, 將路徑改為相對路徑
讓後再 SDKConfig.php 中拼接
#acp_sdk.ini
acpsdk.signCert.path=/certs/acp_test_sign.pfx
acpsdk.encryptCert.path=/certs/acp_test_enc.cer
acpsdk.middleCert.path=/certs/acp_test_middle.cer
acpsdk.rootCert.path=/certs/acp_test_root.cer
#SDKConfig.php
$UnionPath = '.../libs/UnionPay';//定義銀聯支付擴充套件目錄
$ini_array = parse_ini_file('.../acp_sdk.ini', true);//讀取配置-acp_sdk.ini
$sdk_array = $ini_array["acpsdk"];
this->signCertPath = $UnionPath .(array_key_exists("acpsdk.signCert.path", $sdk_array)?$sdk_array["acpsdk.signCert.path"]:'');//拼接證書路徑
//類似 this->signCertPath = ... ...
#銀聯支付類中
//載入配置檔案
//獲取到配置資訊
//請求銀聯支付
//實現回撥動作
//回撥的話,分析支付完成後需要做什麼,資料庫操作,同步等等,可以參考:
...\upacp_demo_b2c\demo\api_01_gateway\BackReceive.php
...\upacp_demo_b2c\demo\api_01_gateway\FrontReceive.php
以上就是對銀聯支付的一個總結,更多明細建議閱讀demo程式碼。