?? getpaynotify.php
字號:
<?
include('php.php');include('config.php');
/*******************************************
'文件名:GetPayNotify.php
'主要功能:該示范程序主要完成接收云網支付網關支付通知信息,驗證信息有效性,判斷支付結果功能
'版本:v1.1(Build2006-4-19)
'說明:
' 1.本頁面請不要使用諸如response.redirect等頁面轉向的語句
' 2.請直接將通知反饋結果以XML的形式輸出在本頁,云網支付@網會解析您的輸出結果
' 3.請務必在本頁面進行處理商戶自己的商務規則,進行發貨等系列操作
'版權所有:北京云網無限網絡技術有限公司
'技術支持聯系方式:86-010-84853768/69 轉技術部
'*******************************************/
//--獲取云網支付網關向商戶發送的支付通知信息(以下簡稱為通知信息)
$c_mid = $_REQUEST['c_mid']; //商戶編號,在申請商戶成功后即可獲得,可以在申請商戶成功的郵件中獲取該編號
$c_order = $_REQUEST['c_order']; //商戶提供的訂單號
$c_orderamount = $_REQUEST['c_orderamount']; //商戶提供的訂單總金額,以元為單位,小數點后保留兩位,如:13.05
$c_ymd = $_REQUEST['c_ymd']; //商戶傳輸過來的訂單產生日期,格式為"yyyymmdd",如20050102
$c_transnum = $_REQUEST['c_transnum']; //云網支付網關提供的該筆訂單的交易流水號,供日后查詢、核對使用;
$c_succmark = $_REQUEST['c_succmark']; //交易成功標志,Y-成功 N-失敗
$c_moneytype = $_REQUEST['c_moneytype']; //支付幣種,0為人民幣
$c_cause = $_REQUEST['c_cause']; //如果訂單支付失敗,則該值代表失敗原因
$c_memo1 = $_REQUEST['c_memo1']; //商戶提供的需要在支付結果通知中轉發的商戶參數一
$c_memo2 = $_REQUEST['c_memo2']; //商戶提供的需要在支付結果通知中轉發的商戶參數二
$c_signstr = $_REQUEST['c_signstr']; //云網支付網關對已上信息進行MD5加密后的字符串
//--校驗信息完整性---
if($c_mid=="" || $c_order=="" || $c_orderamount=="" || $c_ymd=="" || $c_moneytype=="" || $c_transnum=="" || $c_succmark=="" || $c_signstr==""){
echo "支付信息有誤!";
exit;
}
//--將獲得的通知信息拼成字符串,作為準備進行MD5加密的源串,需要注意的是,在拼串時,先后順序不能改變
//商戶的支付密鑰,登錄商戶管理后臺(https://www.cncard.net/admin/),在管理首頁可找到該值
$c_pass = $shmy;
$srcStr = $c_mid . $c_order . $c_orderamount . $c_ymd . $c_transnum . $c_succmark . $c_moneytype . $c_memo1 . $c_memo2 . $c_pass;
//--對支付通知信息進行MD5加密
$r_signstr = md5($srcStr);
//--校驗商戶網站對通知信息的MD5加密的結果和云網支付網關提供的MD5加密結果是否一致
//--校驗商戶編號
$MerchantID=$shid; //商戶自己的編號
if($MerchantID!=$c_mid){
echo "提交的商戶編號有誤";
exit;
}
//--校驗返回的支付結果的格式是否正確
if($c_succmark!="Y" && $c_succmark!="N"){
echo "參數提交有誤";
exit;
}
if($c_succmark="Y"){
//--連接數據庫
$link = mysql_connect($dbhost,$dbuser,$dbpass) or die("Could not connect : " . mysql_error());
mysql_select_db($dbname) or die("不能連接至數據庫");
$yb=$c_orderamount*$yhl;
//--校驗商戶訂單系統中是否有通知信息返回的訂單信息
mysql_query("set names 'gb2312'"); //使用GBK中文編碼;
$query = "UPDATE player_info SET cashmoney = cashmoney+'".$yb."' WHERE p_nickname ='".$c_memo1."'";
$result = mysql_query($query) or die("語句執行錯誤,錯誤代碼 : " . mysql_error());
mysql_close($link);
}
//--輸出支付結果通知反饋
//<result>:值固定為1,表示商戶已成功收到網關的支付成功的通知。
//<reURL> :商戶顯示給用戶處理結果頁面的URL(對應范例文件:GetPayHandle.php)
echo "<result>1</result><reURL>".$zfurl."GetPayHandle.php</reURL>";
?>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -