獨立建站
- 一、在線簽約
- 二、下載開發包
- 三、獲取PID/key
- 四、開發
- 五、測試上線
╭───────────────────────╮
────┤ 支付寶代碼示例結構說明 ├────
╰───────────────────────╯
接口名稱:支付寶即時到帳批量退款有密接口(refund_fastpay_by_platform_pwd)
代碼版本:3.3
開發語言:PHP
版 權:支付寶(中國)網絡技術有限公司
制 做 者:支付寶商戶事業部技術支持組
聯繫方式:商戶服務電話0571-88158090
─────────────────────────────────
───────
代碼文件結構
───────
refund_fastpay_by_platform_pwd-php-GBK
│
├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 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈使用說明文本
※注意※
一、必須開啓curl服務
(1)使用Crul須要修改服務器中php.ini文件的設置,找到php_curl.dll去掉前面的";"便可
(2)文件夾中cacert.pem文件請務必放置到商戶網站平臺中(如:服務器上),而且保證其路徑有效,提供的代碼demo中的默認路徑是當前文件夾下——getcwd().'\\cacert.pem'
二、須要配置的文件是:
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 getHttpResponse($url, $input_charset = '', $time_out = "60")
功能:遠程獲取數據
輸入:String $url 指定URL完整路徑地址
String $input_charset 編碼格式。默認值:空值
String $time_out 超時時間。默認值:60
輸出: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
unction 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
注:此文轉載地址:http://www.php100.com/html/itnews/it/2013/0314/12208.html