支付寶支付功能

 

獨立建站

 
  • 一、在線簽約
  • 二、下載開發包
  • 三、獲取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
相關文章
相關標籤/搜索