财付通支付接口完整源码实例php版
2016-07-06 09:37
706 查看
财付通支付接口完整源码实例php版
版权声明:本文为博主原创文章,未经博主允许不得转载。支付动作文件:
[php] view plain copy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
<?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] view plain copy
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/a7c8e286f463007e2a900848b93dd72c.png)
<?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;//支付金额
//此处产生完成订单业务逻辑
?>
相关文章推荐
- php静态变量小结
- window下使用IIS搭建ftp服务器
- Yii2 RESTful中api的使用及开发实例详解
- Yii框架学习总结(不定期更新)
- FTP在aliyun上使用经验
- EditPlus绿色汉化破解版的注册码信息
- yii2 ActiveRecord多表关联以及多表关联搜索的实现
- PDO事物配合表格读取大量插入,亲测可用
- (写 TTF 文字到图中) ImageTTFText - PHP
- yii学习
- php学习路径
- Yii2 RESTful中api的使用及开发实例详解
- PHP判断JSON对象是否存在的方法(推荐)
- PHPExcel合并与拆分单元格的方法
- PHP使用PHPExcel删除Excel单元格指定列的方法
- php 不等待返回的实现方法(异步调用)
- 1亿条数据如何分表100张到Mysql数据库中(PHP)
- 解决ecshop因php版本过高引起的七种报错
- 证件识别接口PHP调用示例
- php连接数据库