PHP在线支付
php網站如何做個頁面接入網銀在線支付接口?
=>有兩個是用來接收網銀在線的反饋傳遞頁面(這兩個頁面一般是進行下面的第四步)
一個是配置文件
一個是網銀在線的一些函數(一般不需要修改)
1 先做商品支付頁面
2 用戶確定提交訂單(同時本地寫入數據庫一個唯一的訂單號,并設定成未支付狀態)
3.提交訂單到網銀在線支付頁面
4用戶支付成功后返回網站操作頁面(對用戶進行操作,數據中的當前訂單更改成已支付)
?
支付寶:
網址:https://b.alipay.com/order/productDetail.htm?productId=2012111200373124&tabId=4#ps-tabinfo-hash
=》您申請的產品需要通過技術開發才能在您的網站上使用,請點此下載集成開發包
??????????? ╭───────────────────────╮ ??? ────┤?????????? 支付寶代碼示例結構說明???????????? ├──── ??????????? ╰───────────────────────╯ ????????????????????????????????????????????????????????????????? ?????? 接口名稱:支付寶即時到賬批量退款有密接口(refund_fastpay_by_platform_pwd) ??? 代碼版本:3.3 ???????? 開發語言:PHP ???????? 版??? 權:支付寶(中國)網絡技術有限公司 ?????? 制 作 者:支付寶商戶事業部技術支持組 ???????? 聯系方式:商戶服務電話0571-88158090
??? ─────────────────────────────────
─────── ?代碼文件結構 ───────
refund_fastpay_by_platform_pwd-php-UTF-8 ? │ ? ├lib┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈類文件夾 ? │? │ ? │? ├alipay_core.function.php ┈┈┈┈┈┈支付寶接口公用函數文件 ? │? │ ? │? ├alipay_notify.class.php┈┈┈┈┈┈┈支付寶通知處理類文件 ? │? │ ? │? ├alipay_submit.class.php┈┈┈┈┈┈┈支付寶各接口請求提交類文件 ? │? │ ? │? └alipay_md5.function.php┈┈┈┈┈┈┈支付寶接口MD5函數文件 ? │ ? ├log.txt┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件 ? │ ? ├alipay.config.php┈┈┈┈┈┈┈┈┈┈┈┈基礎配置類文件 ? │ ? ├alipayapi.php┈┈┈┈┈┈┈┈┈┈┈┈┈┈支付寶接口入口文件 ? │ ? ├notify_url.php ┈┈┈┈┈┈┈┈┈┈┈┈┈服務器異步通知頁面文件 ? │ ? ├cacert.pem ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈用于CURL中校驗SSL的CA證書文件 ? │ ? └readme.txt ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈使用說明文本
※注意※
1、必須開啟curl服務 (1)使用Crul需要修改服務器中php.ini文件的設置,找到php_curl.dll去掉前面的";"即可 (2)文件夾中cacert.pem文件請務必放置到商戶網站平臺中(如:服務器上),并且保證其路徑有效,提供的代碼demo中的默認路徑是當前文件夾下——getcwd().'\\cacert.pem'
2、需要配置的文件是: alipay.config.php alipayapi.php
●本代碼示例(DEMO)采用fsockopen()的方法遠程HTTP獲取數據、采用DOMDocument()的方法解析XML數據。
請根據商戶網站自身情況來決定是否使用代碼示例中的方式—— 如果不使用fsockopen,那么建議用curl來代替; 如果環境不是PHP5版本或其以上,那么請用其他方法代替DOMDocument()。
curl、XML解析方法需您自行編寫代碼。
───────── ?類文件函數結構 ─────────
alipay_core.function.php
function createLinkstring($para) 功能:把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串 輸入:Array? $para 需要拼接的數組 輸出:String 拼接完成以后的字符串
function createLinkstringUrlencode($para) 功能:把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串,并對參數值urlencode 輸入:Array? $para 需要拼接的數組 輸出:String 拼接完成以后的字符串
function paraFilter($para) 功能:除去數組中的空值和簽名參數 輸入:Array? $para 簽名參數組 輸出:Array? 去掉空值與簽名參數后的新簽名參數組
function argSort($para) 功能:對數組排序 輸入:Array? $para 排序前的數組 輸出:Array? 排序后的數組
function logResult($word='') 功能:寫日志,方便測試(看網站需求,也可以改成存入數據庫) 輸入:String $word 要寫入日志里的文本內容 默認值:空值
function getHttpResponsePOST($url, $cacert_url, $para, $input_charset = '') 功能:遠程獲取數據,POST模式 輸入:String $url 指定URL完整路徑地址 ????? String $cacert_url 指定當前工作目錄絕對路徑 ????? Array? $para 請求的數據 ????? String $input_charset 編碼格式。默認值:空值 輸出:String 遠程輸出的數據
function getHttpResponseGET($url, $cacert_url) 功能:遠程獲取數據,GET模式 輸入:String $url 指定URL完整路徑地址 ????? String $cacert_url 指定當前工作目錄絕對路徑 輸出:String 遠程輸出的數據
function charsetEncode($input,$_output_charset ,$_input_charset) 功能:實現多種字符編碼方式 輸入:String $input 需要編碼的字符串 ????? String $_output_charset 輸出的編碼格式 ????? String $_input_charset 輸入的編碼格式 輸出:String 編碼后的字符串
function charsetDecode($input,$_input_charset ,$_output_charset) 功能:實現多種字符解碼方式 輸入:String $input 需要解碼的字符串 ????? String $_output_charset 輸出的解碼格式 ????? String $_input_charset 輸入的解碼格式 輸出:String 解碼后的字符串
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
function md5Sign($prestr, $key) 功能:MD5簽名 輸入:String $prestr 待簽名數據 ????? String $key 私鑰 輸出:String 簽名結果
function md5Verify($prestr, $sign, $key) 功能:MD5驗簽 輸入:String $data 待簽名數據 ????? String $sign 簽名結果 ????? String $key 私鑰 輸出:bool 驗證結果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
alipay_notify.class.php
function verifyNotify() 功能:對notify_url的認證 輸出:Bool? 驗證結果:true/false
function verifyReturn() 功能:對return_url的認證 輸出:Bool? 驗證結果:true/false
function getSignVeryfy($para_temp, $sign) 功能:獲取返回時的簽名驗證結果 輸入:Array $para_temp 通知返回來的參數數組 ????? String $sign 支付寶返回的簽名結果 輸出:Bool 獲得簽名驗證結果
function getResponse($notify_id) 功能:獲取遠程服務器ATN結果,驗證返回URL 輸入:String $notify_id 通知校驗ID 輸出:String 服務器ATN結果
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
alipay_submit.class.php
function buildRequestMysign($para_sort) 功能:生成要請求給支付寶的參數數組 輸入:Array $para_sort 已排序要簽名的數組 輸出:String 簽名結果
function buildRequestPara($para_temp) 功能:根據反饋回來的信息,生成簽名結果 輸入:Array $para_temp 請求前的參數數組 輸出:String 要請求的參數數組
function buildRequestParaToString($para_temp) 功能:根據反饋回來的信息,生成簽名結果 輸入:Array $para_temp 請求前的參數數組 輸出:String 要請求的參數數組字符串
function buildRequestForm($para_temp, $method, $button_name) 功能:建立請求,以表單HTML形式構造(默認) 輸入:Array $para_temp 請求前的參數數組 ????? String $method 提交方式。兩個值可選:post、get ????? String $button_name 確認按鈕顯示文字 輸出:String 提交表單HTML文本
function buildRequestHttp($para_temp) 功能:建立請求,以模擬遠程HTTP的POST請求方式構造并獲取支付寶的處理結果 輸入:Array $para_temp 請求前的參數數組 輸出:String 支付寶處理結果
function buildRequestHttpInFile($para_temp, $file_para_name, $file_name) 功能:建立請求,以模擬遠程HTTP的POST請求方式構造并獲取支付寶的處理結果,帶文件上傳功能 輸入:Array $para_temp 請求參數數組 ????? String $file_para_name 文件類型的參數名 ????? String $file_name 文件完整絕對路徑 輸出:String 支付寶返回處理結果
function query_timestamp() 功能:用于防釣魚,調用接口query_timestamp來獲取時間戳的處理函數 輸出:String 時間戳字符串
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
────────── ?出現問題,求助方法 ──────────
如果在集成支付寶接口時,有疑問或出現問題,可使用下面的鏈接,提交申請。 https://b.alipay.com/support/helperApply.htm?action=supportHome 我們會有專門的技術支持人員為您處理。
?
?
網銀在線銀行卡在線支付網關
?銀行卡在線支付=》
商戶系統設計人員、編程人員及測試人員。該人員需要具備一定的網站開發能力,了解JAVA、ASP、PHP、ASP.NET等開發語言中的一種,并對信息安全有一定的認識。
| 名詞 | 解釋 |
| 商戶 | 指已注冊成為網銀在線用戶、并使用網銀在線產品實現其收付費功能需求、為其用戶提供各類產品或者相關服務的企業或個人。 |
| 消費者 | 指在商戶網站等系統購物的企業或個人。 |
| 購物 | 指消費者在商戶網站購買相關產品或服務。 |
| 掉單 | 網銀在線管理后臺,訂單是支付成功狀態,商戶自己網站后臺是未支付狀態。兩個后臺訂單狀態不一致的現象稱為掉單。 |
| 服務器異步通知功能 | 網銀在線服務器異步方式發送支付結果給商戶網站。能夠解決掉單。對應AutoReceive程序示例。 |
相關資源:
支付流程演示鏈接?? http://chinabank.com.cn/aminute/
商戶管理登錄地址:https://merchant3.chinabank.com.cn
網銀在線 : http://www.chinabank.com.cn/gateway/help.html?
支付平臺網關接口地址:https://pay3.chinabank.com.cn/PayGate
登陸網銀在線商戶后臺 https://merchant3.chinabank.com.cn/login.do
網銀在線官網地址:http://www.chinabank.com.cn
B2C銀行卡支付的接口文檔:http://www.chinabank.com.cn/gateway/chinabank.zip
?
銀聯在線支付:
文檔和接口下載地址: https://online.unionpay.com/mer/doc/viewDoc.action?? ---php接口開發包 (并附有“銀聯在線支付(UPOP) ECSHOP支付插件”)
?
?
轉載于:https://www.cnblogs.com/lbs8/p/3750693.html
總結
- 上一篇: u-boot,linux,文件系统移植笔
- 下一篇: java位运算(转)