• tp集成支付宝担保支付


    tp集成支付宝担保支付

    现在的网站功能越来越全乎了,很多网站都需要做支付功能,而且很多大平台都提供了各式各样的api来扩充自己的用户和开发者。话说,这种使用大平台的api来做支付,无论是从成本上还是从开发效率上都是很好的选择。今儿我就来念叨念叨怎么集成支付宝的api,其实想写关于支付的文章已经很久了,哎~,就是有点儿小忙,趁着9月的最后一天,随便码点儿字吧。

    一、支付宝担保支付

    支付宝的api在商家服务中,下面是网址:https://b.alipay.com/newIndex.htm,话说,这里面的产品可真是多啊,不过申请起来还是限制蛮多的,下面的截图是他的部分产品:

    tp集成支付宝担保支付

    因为限制多多,像截图中,我个人只能申请担保支付了,其他的支付我看了下,都是要什么企业执照啥的。其实这样也好,可以为服务方和用户提供双重保障嘛。那我们就来看担保支付。

    https://b.alipay.com/order/productDetail.htm?productId=2012111200373121

    上面的网址就是担保支付,ps:不管你用什么类型的api,都是要收取相应的服务费用的。

    这个集成还是蛮方便简单的,如果你有自己的技术人员,你可以根据他们的集成教程来做,没有技术人员的话,可以找支付宝那边给你做。

    自助集成,这个网址有很多集成包,https://b.alipay.com/order/techService.htm,我下载的是下图红框中的集成包,

    tp集成支付宝担保支付

    上面说了一堆的废话,各位看官勿喷啊,根据我的阐述,我想大家去哪里下载集成包,应该都清楚了。

    二、tp集成支付宝担保交易

    1.准备工作

    集成包下载下来后,解压到本地,因为我的网站是utf-8编码,所以我选择utf-8的那个文件,注意,语言是php哦

    tp集成支付宝担保支付

    点开文件夹,里面有很多文件的,这里其实是支付宝官方给做的一个demo,照着这个集成,基本上问题不大的说。这里面最主要的文件是lib下面的四个文件:

    tp集成支付宝担保支付

    要集成到thinkphp中,那四个文件应该是当做第三方类库来处理,在“ThinkPHP/Extend/Vender/”文件夹下面,建立一个文件夹,如Alipay,将上面四个文件放进去;然后在自定义的Action类中,用Vender()方法来引入。

    还有一种形式,你可以将那四个文件放在一个文件夹下面,这个文件夹你可以放在指定的位置,然后用import()方法来引入所需的文件。

    不管以哪种方式集成,首先都是要修改那四个核心文件,我将那四个文件分别修改名称,如下图:

    tp集成支付宝担保支付

    然后将Notify.php和Submit.php中的两行代码去掉,见下图:

    tp集成支付宝担保支付

    去掉的原因是,用Vender或import引入的时候,另外两个文件会被加载,这里就不需要再重复加载了。

    2.自定义Action类

    准备工作完成后,我们开始写控制器,这里不再叙述tp控制器的写法,因为这里不是今儿要讲的重点。

    建立一个PayAction类,继承于Action类,里面可以定义这么几个方法

    
    //初始化的工作
    public function _initialize(){}
    //页面显示
    public function index(){}
    //支付方法
    public function doPay(){}
    //同步通知
    public function returnUrl(){}
    //异步通知
    public function notifyUrl(){}
    

    初始化工作你最重要的是引入那四个文件

    tp集成支付宝担保支付

    还有一个重要的没有说,就是需要一些配置文件,我将部分写在了数据库中,一部分写在了config.php中,为了方便我全部拿到config.php中,

    tp集成支付宝担保支付

    配置中partner和key是你申请担保支付后,支付宝提供给你的,写在配置中即可。

    'cacert'这个是证书,放在根目录下即可。

    returnUrl是支付完成后支付宝那边给返回的同步通知方法,notifyUrl是当同步通知或者交易状态发生改变时支付宝返回的异步通知,这个方法是看不到界面跳转的。说到同步和异步的通知,必须强调的是在配置中,同步和异步url的配置是不能加参数的,也就是说,http://xxxx/xxxx.php?xxx=xxx这种形式是错误的,支付宝返回的时候是找不到路径的。

    为了能在tp中正常的运行,需要修改Corefunction.php中的代码,如下:

    tp集成支付宝担保支付

    Notify.php中verifyNotify和verifyReturn方法需要修改一下;这样做的目的是去除tp在url中增加的多余的字符。

    3.代码下载

    上面说了很多,大都是截图之类,我把代码整理了一下,大家可以点击下面的链接去下载、学习,有不明白的可以在本文评论中写出来。

    整合后的担保交易:

    http://pan.baidu.com/s/1CBQBr

    原版担保交易:

    http://pan.baidu.com/s/17mkIb

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

  • 相关阅读:
    bootstrap1
    vim格式化代码实际上就是 "缩进代码", 命令是等号=
    thinkphp如何一次性的上传多个文件,在文件域中可以多选?
    linux下, 再次遇到使用thinkphp的模板标签时,报错used undefined function ThinkTemplatesimplexml_load_string() 是因为没有安装 php-xml包
    再谈 Mysql解决中文乱码
    碳膜电阻+1N5408二极管?
    华为发布业界首套物联网网络建设方法论
    页面错误提示
    Linux下Redis服务器安装配置
    svn 强制用户添加注释 和 允许用户修改注释
  • 原文地址:https://www.cnblogs.com/stevin-john/p/4768951.html
Copyright © 2020-2023  润新知