财付通支付接口完整源码实例php版

支付动作文件:

<?php

//------------------ 参数开始 ------------------

//商户号
$bargainor_id='45698236888';

//密钥
$key='sjdlfjsdifjieojf454654';

//返回地址
$return_url="http://".$_SERVER['HTTP_HOST']."/untitled1.php";

//支付币种,1为人民币
$fee_type=1;

//银行类型
$bank_type="0";

//------------------ 参数结束 ------------------

//支付金额
$total_fee=56*100;//支付金额转换后

//提交的数据

$strCmdNo="1";	//财付通支付为"1" (当前只支持 cmdno=1)
$strBillDate=date('Ymd');	//交易日期 (yyyymmdd)
$desc='鞋子';	//商品名称
$strBuyerId="";	//QQ号码
$strSpBillNo=time();	//订单号
setcookie('checkpaysession',$strSpBillNo);	//设置定单号
$strTransactionId=$bargainor_id.$strBillDate.$strSpBillNo;	//交易订单号
$attach=$strSpBillNo;
$spbill_create_ip=$_SERVER['REMOTE_ADDR'];

//md5
$strSignText="cmdno=".$strCmdNo."&date=".$strBillDate."&bargainor_id=".$bargainor_id."&transaction_id=".$strTransactionId."&sp_billno=".$strSpBillNo."&total_fee=".$total_fee."&fee_type=".$fee_type."&return_url=".$return_url."&attach=".$attach."&spbill_create_ip=".$spbill_create_ip."&key=".$key;
$strSign=strtoupper(md5($strSignText));
?>
<html>
<title>财付通支付</title>
<meta http-equiv="Cache-Control" content="no-cache"/>
<body>
<form action="https://www.tenpay.com/cgi-bin/v1.0/pay_gate.cgi" name="dopaypost" id="dopaypost">
<input type=hidden name="cmdno" value="<?php echo $strCmdNo; ?>">
<input type=hidden name="date" value="<?php echo $strBillDate; ?>">
<input type=hidden name="bank_type" value="<?php echo $bank_type; ?>">
<input type=hidden name="desc" value="<?php echo $desc; ?>">
<input type=hidden name="purchaser_id" value="<?php echo $strBuyerId; ?>">
<input type=hidden name="bargainor_id" value="<?php echo $bargainor_id; ?>">
<input type=hidden name="transaction_id" value="<?php echo $strTransactionId; ?>">
<input type=hidden name="sp_billno" value="<?php echo $strSpBillNo; ?>">
<input type=hidden name="total_fee" value="<?php echo $total_fee; ?>">
<input type=hidden name="fee_type" value="<?php echo $fee_type; ?>">
<input type=hidden name="return_url" value="<?php echo $return_url; ?>">
<input type=hidden name="attach" value="<?php echo $attach; ?>">
<input type=hidden name="spbill_create_ip" value="<?php echo $spbill_create_ip; ?>">
<input type=hidden name="sign" value="<?php echo $strSign; ?>">
<input type="submit" name="submit2" value="财付通支付">
</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='tenpay';

$bargainor_id='45698236888';//商户号

$key='sjdlfjsdifjieojf454654';//密钥

//----------------------------------------------返回信息
import_request_variables("gpc", "frm_");
$strCmdno			= $frm_cmdno;
$strPayResult		= $frm_pay_result;
$strPayInfo		= $frm_pay_info;
$strBillDate		= $frm_date;
$strBargainorId	= $frm_bargainor_id;
$strTransactionId	= $frm_transaction_id;
$strSpBillno		= $frm_sp_billno;
$strTotalFee		= $frm_total_fee;
$strFeeType		= $frm_fee_type;
$strAttach			= $frm_attach;
$strMd5Sign		= $frm_sign;

//支付验证
$checkkey="cmdno=".$strCmdno."&pay_result=".$strPayResult."&date=".$strBillDate."&transaction_id=".$strTransactionId."&sp_billno=".$strSpBillno."&total_fee=".$strTotalFee."&fee_type=".$strFeeType."&attach=".$strAttach."&key=".$key;
$checkSign=strtoupper(md5($checkkey));
  
if($checkSign!=$strMd5Sign)
{
	msg('md5验证失败','/');
}  

if($bargainor_id!=$strBargainorId)
{
	msg('商户号错误','/');
}

if($strPayResult!="0")
{
	msg('支付失败','/');
}

//----------- 支付成功后处理 -----------

$orderid=$strSpBillno;	//支付订单
$ddno=$strAttach;	//网站的订单号
$money=$strTotalFee/100;//支付金额

//此处产生完成订单业务逻辑



?>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值