支付宝接口实例php版

支付页面:

<?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']; //支付金额
//处理返回业务逻辑
?>


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值