支付动作页面:
<?php
//------------------ 参数开始 ------------------
//商户号
$v_mid='123456789';
//密钥
$key='zxcvbn123456';
//返回地址
$v_url="http://".$_SERVER['HTTP_HOST']."/untitled1.php";
//币种
$v_moneytype="CNY";
//------------------ 参数结束 ------------------
$v_amount=56;//支付金额
//产生定单号
$v_oid=date("Ymd")."-".$v_mid."-".date("His");
$ddno=time(); //订单号
setcookie("checkpaysession",$ddno); //设置定单号
//md5
$text=$v_amount.$v_moneytype.$v_oid.$v_mid.$v_url.$key;
$v_md5info=strtoupper(md5($text));
$remark1=$ddno;//备注字段1
$remark2="";//备注字段2
?>
<html>
<title>在线支付</title>
<meta http-equiv="Cache-Control" content="no-cache"/>
<body>
<form method="post" name="dopaypost" id="dopaypost" action="https://pay3.chinabank.com.cn/PayGate">
<input type="hidden" name="v_mid" value="<?php echo $v_mid;?>">
<input type="hidden" name="v_oid" value="<?php echo $v_oid;?>">
<input type="hidden" name="v_amount" value="<?php echo $v_amount;?>">
<input type="hidden" name="v_moneytype" value="<?php echo $v_moneytype;?>">
<input type="hidden" name="v_url" value="<?php echo $v_url ;?>">
<input type="hidden" name="v_md5info" value="<?php echo $v_md5info;?>">
<input type="hidden" name="remark1" value="<?php echo $remark1;?>">
<input type="hidden" name="remark2" value="<?php echo $remark2;?>">
<input type="submit" style="font-size: 9pt" value="在线支付" name="v_action">
</form>
<script>
document.getElementById('dopaypost').submit();
</script>
</body>
</html>
支付返回动作处理页面:
<?php
//获取cookie
function getcvar($name){
$re='';
if(isset($_COOKIE[$name]) && $_COOKIE[$name]!=''){
$re=$_COOKIE[$name];
}
return $re;
}
//提示函数
function msg($msg='',$burl=''){
echo '<script>alert("'.$msg.'");location.href="'.($burl?$burl:$_SERVER['HTTP_REFERER']).'";</script>';
exit();
}
//订单号
if(!getcvar('checkpaysession'))
{
msg('非法操作','/');
}
else
{
setcookie("checkpaysession","");
}
//操作事件例如 登陆判断 之行动做判断
$paytype='chinabank';
$v_mid='123456789';//商户号
$key='zxcvbn123456';//密钥
//----------------------------------------------返回信息
$v_oid =trim($_POST['v_oid']);
$v_pmode =trim($_POST['v_pmode']);
$v_pstatus=trim($_POST['v_pstatus']);
$v_pstring=trim($_POST['v_pstring']);
$v_amount=trim($_POST['v_amount']);
$v_moneytype =trim($_POST['v_moneytype']);
$remark1 =trim($_POST['remark1']);
$remark2 =trim($_POST['remark2']);
$v_md5str =trim($_POST['v_md5str']);
//md5
$md5string=strtoupper(md5($v_oid.$v_pstatus.$v_amount.$v_moneytype.$key));
if($v_md5str!=$md5string)
{
msg('验证MD5签名失败.','/');
}
if($v_pstatus!="20")
{
msg('支付失败.','/');
}
//----------- 支付成功后处理 -----------
$orderid=$v_oid; //支付订单
$ddno=$remark1; //网站的订单号
$money=$v_amount;//支付金额
?>