程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> 中國銀聯支付平台開發和實現教程

中國銀聯支付平台開發和實現教程

編輯:PHP基礎知識
 

這幾天一直在研究chinapay 這個支付平台,根據他們提供的開發文檔寫,了解業務流程等等,應該是很簡單的東西。

後來直到做了以後才發現我自己想的太簡單了。

但,慶幸的是還是做事完了,我現在總結一下心得

  1. 遇到問題不要著急,要淡定,這個說的簡單但做起來確實有點難。
  2. 遇到問題要等一等,如果實在是想不出方法,還可以把問問放一放,過幾天回頭再看看。
  3. 檢測錯誤的時候要常把數據打印出來,看看有沒有數據沒有。

就chinapay的平台,我發現幾個問題

數據用CURL模擬POST發送的時候,一定要注意字符的順序,並且中文字符串都要用urlencode()函數進行編碼,不然

chinapay的服務器就是報HTTP 500的錯誤。

這個問題,我是怎麼發現的呢?其實做javascript非跨域發送數據的時候,我就用firebug看過數據傳輸了

curl_post

curl_post

仔細看看上面POST傳輸的數據。中間沒有中文字符,但是有特殊字符都是通過urlencode()處理過的。

就這樣,有了這些,你就可以通過CURL把返回的時候拿到。處理字符串,這裡我借鑒了一個好方法,

	foreach($data as $key=>$value)
	 {
		  $params[] = $key ."=". urlencode(auto_charset($value,"utf8","gb2312"));
	 }
	 $post_data = implode("&",$temp);

上面的是將數組轉換成字符串,通過&進行連接。auto_charset()是thinkphp裡面提供的字符串編碼轉換方法,如果不是thinkphp框架,就用
iconv()這個函數。

怎麼把字符串轉換成數組呢?

  //方法就更多了,根據要求用
  $data = exploade("&",$post_data);

用數組是為了方便數據的存儲,用字符串是為了數據的傳輸。所以就兩種直接的轉化要十分清楚。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved