支付页面:
<?php
$payr['paymethod']=2;
if($payr['paymethod']==0)//双接口
{
$use_service='trade_create_by_buyer';
}
elseif($payr['paymethod']==2)//担保接口
{
$use_service='create_partner_trade_by_buyer';
}
else//即时到帐接口
{
$use_service='create_direct_pay_by_user';
}
//------------------ 参数开始 ------------------
$agent="";
$service=$use_service;
//商户号
$partner='151164684846';
//密钥
$paykey='jsdifjoisoefi454654';
//卖家支付宝帐户
$seller_email='sdofiueoifueiowfi';
//字符编码格式
$_input_charset="GBK";
//加密方式
$sign_type="MD5";
//返回地址
$notify_url="http://".$_SERVER['HTTP_HOST']."/untitled1.php";
$return_url="http://".$_SERVER['HTTP_HOST']."/untitled1.php";
//支付方式
$payment_type=1;
//默认支付方式
$paymethod="";
//银行类型
$defaultbank="";
//物流类型
$logistics_type="EXPRESS";
//物流费用
$logistics_fee="0";
//物流支付类型
$logistics_payment="BUYER_PAY";
//------------------ 参数结束 ------------------
if($payr['paymethod']==1)//即时到帐不需要物流
{
$logistics_type="";
$logistics_fee="";
$logistics_payment="";
}
//支付金额
$price=56;
$quantity=1;
$out_trade_no=time(); //订单号
setcookie("checkpaysession",$out_trade_no); //设置定单号
//产品信息
$subject='鞋子'; //商品名称
$body=$out_trade_no; //商品描述
//md5
$parameter=array(
'agent' => $agent,
'service' => $service,
'partner' => $partner,
'seller_email' => $seller_email,
'_input_charset' => $_input_charset,
'notify_url' => $notify_url,
'return_url' => $return_url,
'subject' => $subject,
'body' => $body,
'out_trade_no' => $out_trade_no,
'price' => $price,
'quantity' => $quantity,
'payment_type' => $payment_type,
'paymethod' => $paymethod,
'defaultbank' => $defaultbank,
'logistics_type' => $logistics_type,
'logistics_fee' => $logistics_fee,
'logistics_payment' => $logistics_payment
);
ksort($parameter);
reset($parameter);
$param='';
$sign='';
foreach($parameter AS $key => $val)
{
if(strlen($val)==0)
{
continue;
}
$param.="$key=".urlencode($val)."&";
$sign.="$key=$val&";
}
$param=substr($param,0,-1);
$sign=md5(substr($sign,0,-1).$paykey);
$gotopayurl='https://www.alipay.com/cooperate/gateway.do?'.$param.'&sign='.$sign.'&sign_type='.$sign_type;
?><html>
<title>支付宝支付</title>
<meta http-equiv="Cache-Control" content="no-cache"/>
<body>
<script>
self.location.href='<?=$gotopayurl?>';
</script>
<input type="button" style="font-size: 9pt" value="支付宝支付" name="v_action" onClick="self.location.href='<?=$gotopayurl?>';">
</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='alipay';
$bargainor_id='151164684846';//商户号
$paykey='jsdifjoisoefi454654';//密钥
$seller_email='sdofiueoifueiowfi';//卖家支付宝帐户
//----------------------------------------------返回信息
if(!empty($_POST))
{
foreach($_POST as $key => $data)
{
$_GET[$key]=$data;
}
}
$get_seller_email=rawurldecode($_GET['seller_email']);
//支付验证
ksort($_GET);
reset($_GET);
$sign='';
foreach($_GET AS $key=>$val)
{
if($key!='sign'&&$key!='sign_type'&&$key!='code')
{
$sign.="$key=$val&";
}
}
$sign=md5(substr($sign,0,-1).$paykey);
if($sign!=$_GET['sign'])
{
msg('验证MD5签名失败.','/');
}
if(!($_GET['trade_status']=="TRADE_FINISHED"||$_GET['trade_status']=="WAIT_SELLER_SEND_GOODS"||$_GET['trade_status']=="TRADE_SUCCESS"))
{
msg('支付失败.','/');
}
//----------- 支付成功后处理 -----------
$orderid=$_GET['trade_no']; //支付订单
$ddno=$_GET['out_trade_no']; //网站的订单号
$money=$_GET['total_fee']; //支付金额
//处理返回业务逻辑
?>