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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

支付动作文件:

[php] view plain copy

  1. <?php
  2. //------------------ 参数开始 ------------------
  3. //商户号
  4. $bargainor_id=‘45698236888‘;
  5. //密钥
  6. $key=‘sjdlfjsdifjieojf454654‘;
  7. //返回地址
  8. $return_url="http://".$_SERVER[‘HTTP_HOST‘]."/untitled1.php";
  9. //支付币种,1为人民币
  10. $fee_type=1;
  11. //银行类型
  12. $bank_type="0";
  13. //------------------ 参数结束 ------------------
  14. //支付金额
  15. $total_fee=56*100;//支付金额转换后
  16. //提交的数据
  17. $strCmdNo="1";  //财付通支付为"1" (当前只支持 cmdno=1)
  18. $strBillDate=date(‘Ymd‘);   //交易日期 (yyyymmdd)
  19. $desc=‘鞋子‘; //商品名称
  20. $strBuyerId=""; //QQ号码
  21. $strSpBillNo=time();    //订单号
  22. setcookie(‘checkpaysession‘,$strSpBillNo);  //设置定单号
  23. $strTransactionId=$bargainor_id.$strBillDate.$strSpBillNo;  //交易订单号
  24. $attach=$strSpBillNo;
  25. $spbill_create_ip=$_SERVER[‘REMOTE_ADDR‘];
  26. //md5
  27. $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;
  28. $strSign=strtoupper(md5($strSignText));
  29. ?>
  30. <html>
  31. <title>财付通支付</title>
  32. <meta http-equiv="Cache-Control" content="no-cache"/>
  33. <body>
  34. <form action="https://www.tenpay.com/cgi-bin/v1.0/pay_gate.cgi" name="dopaypost" id="dopaypost">
  35. <input type=hidden name="cmdno" value="<?php echo $strCmdNo; ?>">
  36. <input type=hidden name="date" value="<?php echo $strBillDate; ?>">
  37. <input type=hidden name="bank_type" value="<?php echo $bank_type; ?>">
  38. <input type=hidden name="desc" value="<?php echo $desc; ?>">
  39. <input type=hidden name="purchaser_id" value="<?php echo $strBuyerId; ?>">
  40. <input type=hidden name="bargainor_id" value="<?php echo $bargainor_id; ?>">
  41. <input type=hidden name="transaction_id" value="<?php echo $strTransactionId; ?>">
  42. <input type=hidden name="sp_billno" value="<?php echo $strSpBillNo; ?>">
  43. <input type=hidden name="total_fee" value="<?php echo $total_fee; ?>">
  44. <input type=hidden name="fee_type" value="<?php echo $fee_type; ?>">
  45. <input type=hidden name="return_url" value="<?php echo $return_url; ?>">
  46. <input type=hidden name="attach" value="<?php echo $attach; ?>">
  47. <input type=hidden name="spbill_create_ip" value="<?php echo $spbill_create_ip; ?>">
  48. <input type=hidden name="sign" value="<?php echo $strSign; ?>">
  49. <input type="submit" name="submit2" value="财付通支付">
  50. </form>
  51. <script>
  52. document.getElementById(‘dopaypost‘).submit();
  53. </script>
  54. </body>
  55. </html>

返回通知文件:

[php] view plain copy

    1. <?php
    2. //获取cookie
    3. function getcvar($name){
    4. $re=‘‘;
    5. if(isset($_COOKIE[$name]) && $_COOKIE[$name]!=‘‘){
    6. $re=$_COOKIE[$name];
    7. }
    8. return $re;
    9. }
    10. //提示函数
    11. function msg($msg=‘‘,$burl=‘‘){
    12. echo ‘<script>alert("‘.$msg.‘");location.href="‘.($burl?$burl:$_SERVER[‘HTTP_REFERER‘]).‘";</script>‘;
    13. exit();
    14. }
    15. //订单号
    16. if(!getcvar(‘checkpaysession‘))
    17. {
    18. msg(‘非法操作‘,‘/‘);
    19. }
    20. else
    21. {
    22. setcookie("checkpaysession","");
    23. }
    24. //操作事件例如 登陆判断 之行动做判断
    25. $paytype=‘tenpay‘;
    26. $bargainor_id=‘45698236888‘;//商户号
    27. $key=‘sjdlfjsdifjieojf454654‘;//密钥
    28. //----------------------------------------------返回信息
    29. import_request_variables("gpc", "frm_");
    30. $strCmdno           = $frm_cmdno;
    31. $strPayResult       = $frm_pay_result;
    32. $strPayInfo     = $frm_pay_info;
    33. $strBillDate        = $frm_date;
    34. $strBargainorId = $frm_bargainor_id;
    35. $strTransactionId   = $frm_transaction_id;
    36. $strSpBillno        = $frm_sp_billno;
    37. $strTotalFee        = $frm_total_fee;
    38. $strFeeType     = $frm_fee_type;
    39. $strAttach          = $frm_attach;
    40. $strMd5Sign     = $frm_sign;
    41. //支付验证
    42. $checkkey="cmdno=".$strCmdno."&pay_result=".$strPayResult."&date=".$strBillDate."&transaction_id=".$strTransactionId."&sp_billno=".$strSpBillno."&total_fee=".$strTotalFee."&fee_type=".$strFeeType."&attach=".$strAttach."&key=".$key;
    43. $checkSign=strtoupper(md5($checkkey));
    44. if($checkSign!=$strMd5Sign)
    45. {
    46. msg(‘md5验证失败‘,‘/‘);
    47. }
    48. if($bargainor_id!=$strBargainorId)
    49. {
    50. msg(‘商户号错误‘,‘/‘);
    51. }
    52. if($strPayResult!="0")
    53. {
    54. msg(‘支付失败‘,‘/‘);
    55. }
    56. //----------- 支付成功后处理 -----------
    57. $orderid=$strSpBillno;  //支付订单
    58. $ddno=$strAttach;   //网站的订单号
    59. $money=$strTotalFee/100;//支付金额
    60. //此处产生完成订单业务逻辑
    61. ?>
时间: 2024-12-23 14:09:25

财付通支付接口完整源码实例php版的相关文章

java调用webservice接口完整源码

对方提供的webservice是用c#写的,而我这个方案对于java或c#(亲测过)提供的webservice都可以使用.具体步骤如下: 1.新建一个普通的java项目,在项目上右键new–other–web service client –next如图,在框内输入webservice地址,例如:http://10.10.10.60:7000/srv_waipaiItem/ws/wp?wsdl(地址输入完后需要等待一两秒,next才可点击) 2.输入正确的webservice地址后,一路fini

ASP.NET CORE小试牛刀:干货(完整源码)

扯淡 .NET Core 的推出让开发者欣喜万分,从封闭到拥抱开源十分振奋人心.对跨平台的支持,也让咱.NET开发者体验了一把 Write once,run any where 的感觉!近期离职后,时间比较充裕,我也花了些时间学习了 ASP.NET Core 开发,并且成功将之前的一个小网站 www.52chloe.com 极其后台管理移植成 ASP.NET Core,并部署到 linux 上.项目完整源码已经提交到 github,感兴趣的可以看看,希望对大家有用. 项目介绍 前端以 MVVM

基于Servlet、JSP、JDBC、MySQL的一个简单的用户注册模块(附完整源码)

最近看老罗视频,做了一个简单的用户注册系统.用户通过网页(JSP)输入用户名.真名和密码,Servlet接收后通过JDBC将信息保存到MySQL中.虽然是个简单的不能再简单的东西,但麻雀虽小,五脏俱全,在此做一归纳和整理.下面先上源码: 一.index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path =

Android OpenGL入门示例:绘制三角形和正方形 (附完整源码)

Android上对OpenGl的支持是无缝的,所以才有众多3D效果如此逼真的游戏,在Camera的一些流程中也有用到GLSurfaceView的情况.本文记录OpenGL在Android上的入门级示例,绘制一个三角形和正方形.尽管功能简单,可是我捣腾了好几个晚上,大量网上文章上的代码都有点问题,不是绘制不出来就是挂了. 第一个文件:MainActivity.java package com.example.learnopengl1; import android.opengl.GLSurface

关于php使用phpqrcode生成二维码的完整源码下载

前两天我发表的“php结合phpqrcode生成带图片LOGO的二维码”,有些新手朋友说不知道如何生成,问我能不能提供完整的生成实例,当然能,只有有人需要,我就会努力,昨天晚上花了两个小时写了个完整的源码包,里面的代码包括注释什么的都挺全,还包括有phpqrcode.php文件,如果哪位觉得对自己有需要,可以去下载(博客园这里好像不能发附件哦). 实例效果演示:http://www.codesc.net/other/phpqrcode 完整源码下载:http://www.codesc.net/s

微信小程序 授权登录详解(附完整源码)

一.前言 由于微信官方修改了 getUserInfo 接口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 去触发. 官方连接:https://developers.weixin.qq.com/community/develop/doc/0000a26e1aca6012e896a517556c01 二.实现思路 自己写一个微信授权登录页面让用户实现点击的功能,也就是实现了通过 button 组件去触发 getUserInof 接口.在用户进入微信小程序的时候,判断用户是否

spring-beans中Aware相关接口的源码解析说明

spring版本为5.0.11 Aware是个没有定义任何方法的接口,即标记超接口,拥有众多子接口,在spring源码中有多处都在使用这些子接口完成各种场景下的回调操作. aware字面意思翻译过来是知道的,感知的,所以理解为感知所有aware前面的含义. beanNameAware接口(不建议使用):如果某个bean需要访问配置文件中本身bean的id属性,这个Bean类通过实现该接口,在依赖关系确定之后,初始化方法之前,提供回调自身的能力,从而获得本身bean的id属性,该接口提供了void

二人牛牛完整源码下载

这里给大家分享二人牛牛源码如下:#include "StdAfx.h"#include "GameLogic.h"////////////////////////////////////////////////////////////////////////////扑克数据BYTE CGameLogic::m_cbCardListData[54]={    0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,

Unity3D手游-横版ACT游戏完整源码下载

说明: 这不是武林,这不是江湖,没有道不完的恩怨,没有斩不断的情仇,更没有理不清的烦恼,这是剑的世界,一代剑魁闯入未知世界,将会为这个世界展开什么样的蓝图,让你来创造它的未来,剑魁道天下,一剑斗烛龙!!! 游戏开发了三个月,非常值得收藏,至于做什么用途,就看你自己啦!来来来,放大招了!请看附件:) 测试环境: Unity3D 4.3.4 运行效果: 完整源码下载http://www.yxkfw.com/thread-5035-1-1.html