【php开发支付宝web支付】

首先介绍下 我用的框架ci

在吐槽下百度的其他人的写的都很垃圾,还不如自己看支付宝的开发手册了

1、composer安装支付宝的sdk

composer require alipay/alipay-sdk-php

安装完毕
在这里插入图片描述

不多哔哔 代码展示

先点地址登录支付宝以后再上我这重点下
支付宝沙箱地址

$order_id你自己整你自己的, $total金额你随意

public function pay($order_id, $total)
    {
        // 引入支付宝 SDK
        require_once(APPPATH . 'Vendor/alipaysdk/openapi/v2/aop/AopClient.php');
        require_once(APPPATH . 'Vendor/alipaysdk/openapi/v2/aop/request/AlipayTradePagePayRequest.php');

        $c = new \AopClient;
        //请求地址
        $c->gatewayUrl = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
        $c->appId = "9******************6";
        $c->rsaPrivateKey = 'MIIEpAIBAAKCAQEA1yQusS5CuWrKnK8CrGtPRaCdEhqly6lx2nSv6TtBS7qlcxk1D0Sp0gzeHlbaamZNnGMT11A9vNqB4Pf+2t4rtzzlKHpJy1laLFa6oyaOqyGvMeiu45npfU1veNmtygbwKSLuER+BTfJcKkR4BIxlX9vyFMRh5cLjZqskfieM/nfGvI1at1wINDCjURlu7CLShSq35zlfszv/N+WJ8ntYA36EcKm00s8GDgR2yRzX8SN/BWeyc6DgORHlw+c7Ksr2IVnQTFrw4geAKcHxcEy8+hpq/QT1ewOi9eC3Ndossp+ihhej/B38fzTh+w+Mx5jF3A5bqwOCSVnTCEzbv5VDMwIDAQABAoIBAFAwCUM69d28QxaRWJLBUIOoMMMtsXwuhOQit+pbjqPWRpKW46L0OcOzzhpKzw/3X5gZiayoGMrKOryKUrBrPKoIhXVH1zd271g1X00uMuDwJieZDY6BsHhmo1TM9aymV19NyKQTNRPDcLzEVmODnMlU5m79H2wO7sk2otxui2vQs/U+ws7e/SEfXIku38pY4JQNu23H2j9UCLxKRfhhsyX2Jwlro7q8ci/fEGZIgA29iVznqeG40pv+NBLk9YbpHhdK/TuLVC6oJ2wb1IF+HijNZq7e0/ZgtVsFTCXp2KmyDICbZi4JE983O4kNZNHt9hxrnWquTBYqPVk+E6xvKKECgYEA8oLJJdUbLGh4dxMeEda/8ksaEk2lJabj9a7d8jDo45nwuBa1/lFQ0K2dHt+OIYBWKL3eq858AZNhm0BQcqU2XEp0LiMQSoa/R8ILCQzEZYOxGmafVWYw2rpB8OfX4/4wgV9cgXMLEpI5OHvLQzbPFQLg9TSDX1XnV07E0G4UNWMCgYEA4xurk9lLfvivUhSXXJwPdEgK2KTE2BkrMRg7KcUeK9nV7vuB/ZmAVjfdFe+QTVe0z/CEkEm/zjy12vjfZW7M29GKcI2KFDMjr30s4IPIvFXanyedp30a2Mthfr5gtGIddzU3NllVdswtzVDETe60CczjDiyuU0KHBOUlRObZS/ECgYAg03E0zMbT2QRNYeoVEhODUYUi6x2qng+HRvdF/DbZ8BF0aaaS2SDuTkHRVwNfJ4cCFslYSifg8rkokakSC6jzDyTwxdBDtj+YD/z8aZz//LZxU2jH34BHayTX3hoMA3E/YdAcuZzLE73pFmCqJXYcavpWVphdxDv/Rms/p1bW7wKBgQCO+Rp5B3EZzCFDQSdQ7AZmo/wACyrJCH9Cdwi38RpfbNHbk4ZwSrSakqyiZKCpsC9qQPaTh3oysdGius6YorphIHdRCCoHMXKjxd/8r7otprbtPxlnGcFO/iqwidWDecknBN9vXaoKEdw7xz7t+PpquQuwHrzYOaeak091IwdlYQKBgQDvgcBZ1RpzHms/RP6LAn+FkaQ/Zj+KNNoQ/csFCdnckI0lL/MhWjfdzNbPPP5b+naTn6btEjw/8vPvpYoZ8VrjSo4D0/m9PsvKkSfAkH1yY7kba1+wGolnmhtZz0uq0d7jUXy+tJxq7B3fltgmmfzvR/obk5fuV+kO89bSjSOM3A==';
//        $c->format = "json";
        $c->charset= "GBK";
        $c->signType= "RSA2";
        $c->alipayrsaPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlx9aGAKEgGXmr5v0VZQ5sQngRVfy/NxEVqmC6E0R0qMl4XhyebD0hR6HGfd+y2bVaVX+e4rTWczI5ivNfkmNGwTkgcfFTmnL4PONj6uwFizH3oQ1KXZwuUi1BVi6+1PDEtmk6hJG4oEieApoPtt6K1YSc8YnmXvLy4SfrTihIq5D+6mz0NnF2hy9pm0DXFJZcnZnPbwIT07Rt1rGTb7Ip1oR9mB5EkeKXDQTrb7cABV5x7Rhqd8T0gKtHKQSrxi3qt+aT37YxLIXy2qNE8eVL1i2ns9B/MEtn7bkLFPe6W5/jajSU+O2GhbopXeyelN+jJ5pq7QJSCX3D5IcWeVqfwIDAQAB';
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.open.public.template.message.industry.modify

        $object = new stdClass();

        /******必传参数******/
//	          注:交易号(TradeNo)与订单号(OutTradeNo)二选一传入即可,如果2个同时传入,则以交易号为准
//      支付接口传入的商户订单号,如:2020061601290011200000140004
        $object->out_trade_no = $order_id;

//    	订单标题
        $object->subject = "测试";

//    	订单金额,精确到小数点后两位
        $object->total_amount = $total;

//    	销售产品码,固定值:FAST_INSTANT_TRADE_PAY
        $object->product_code = "FAST_INSTANT_TRADE_PAY";

        /******可选参数******/
        $bizContent=json_encode($object);
        // 构建支付请求参数
        $request = new \AlipayTradePagePayRequest();
        /** 设置业务参数 **/
        $request->setBizContent($bizContent);

        /** 同步地址 **/
//        $request->setReturnUrl("");

        /** 异步通知地址,以http或者https开头的,商户外网可以post访问的异步地址,用于接收支付宝返回的支付结果 **/
        $request->setNotifyUrl("");

        /** 调用SDK生成支付链接,可在浏览器打开链接进入支付页面 **/
//        $result = $c->pageExecute ($request); //生成form表单
        $result = $c->pageExecute ($request,"GET");//生成url链接

        /** 第三方调用(服务商模式),传值app_auth_token后,会收款至授权token对应商家账号 **/
//$result = $alipayClient->pageExecute($request,"",$Config->app_auth_token);//生成form表单
//$result = $alipayClient->pageExecute($request,"GET",$Config->app_auth_token);//生成url链接

        // 返回支付页面
        return $result;
    }

支付宝官方接口自己看啥都有

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/526105.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C/C++中局部变量static用法实例

1. 普通局部变量存储于进程栈空间,使用完毕会立即释放,静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0,并且静态局部变量存储于进程的全局数据区,即使函数返回&#xff0…

企业3D数字化网络展馆成为企业文化传承与发扬的圣地

在河北这片古老而富饶的土地上,文明的火种薪火相传,燕赵之风历久弥新。河北企业也多年持续稳居我国第五的宝座,企业文化展馆不仅是企业形象的展示窗口,更是企业文化传承与发扬的圣地。 与短暂的行业展会不同,企业展馆是…

Mac下载的软件显示文件已损坏,如何解决文件已损坏问题

当在Mac上下载的软件显示文件已损坏时,这可能是因为多种原因导致的,包括网络问题、下载中断、软件未完整下载、文件传输错误等。解决这个问题需要采取一些步骤来排除可能的原因,并尝试修复文件。下面将详细介绍一些常见的解决方法&#xff1a…

让WIN7运行WIN10软件的插件

GitHub - vxiiduu/VxKex: Windows 7 API Extensions 安装包才5.23M。 程序 - 属性 - VxKex:勾选 Enable Qt6版的Raptor登录后报错Device offline OpenSCAD的WIN10版

交易要想成功澳福总结几点

100%使用基本面分析的投资者能保证每次交易都能成功吗?100%使用技术分析的投资者能保证每次交易都能成功吗?在fpmarkets澳福看来无论是基本面分析还是技术分析都不能保证100%交易成功。 投资者不能只依赖一种分析进行投资交易。在fpmarkets澳福看来成功的…

vue3中项目优化(Web Worker的使用)

1.Web Worker的作用 本人的理解:js是单线程执行代码,也就是代码需要从上往下执行,而使用Web Worker后相当于分了一条线程出来执行代码,那么两条线程肯定是比一条线程执行的快。 2.新建Web Worker文件 在public文件夹下新建work…

【第二十六篇】Burpsuite实现请求方式修改+请求体文件选取

有时我们想将请求包的请求方法或请求体进行修改,这些操作可以由burpsuite完成,以节省时间。 文章目录 修改请求方法请求体文件选取修改请求方法 例如,某请求包的请求方法为GET: 如果我们想将其修改为POST且传递POST参数、上传文件,可以按以下步骤: 1、修改请求方法 2…

避雷!网络安全学习五大误区,你还不知道?

尽管安全问题老生常谈,但一些普遍存在的误区仍然可能让企业随时陷入危险境地。 为了有效应对当前层出不穷且不断变换的网络威胁,最大程度规避潜在风险,深入了解网络安全的发展趋势必不可少。即使部署了最新且最先进的硬件和解决方案并严格遵守…

LeetCode-热题100:138. 随机链表的复制

题目描述 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。…

【数据结构与算法】力扣 142. 环形链表 II

题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统…

倒计时 抢登CCF-C NSPW’24论文战场,4月12日截稿,等你来征服

会议之眼 快讯 2024年NSPW(The New Security Paradigms Workshop)即新安全范式研讨会将于 2024 年 9月16日-18日在美国宾夕法尼亚州贝德福德举行!NSPW是一个专注于信息安全领域的年度会议,该会议旨在为那些挑战计算机安全领域主流…

小小算式(1 + 2) * (3 + 4)背后的大道理

目录 前缀表示法(波兰表达式) 中缀表达法 后缀表达法(逆波兰表达式) 三种表达法的相互转换 练习:逆波兰表达式求值 前缀表示法(波兰表达式) 波兰表示法(英语:Polis…

第四十七周:文献阅读+AGCN+Wavenet network

目录 摘要 Abstract 文献阅读:结合自适应图卷积和CNN-LSTM的多站点水质预测模型 现有问题 提出方法 方法论 Adaptive graph convolution network(自适应图卷积网络) WaveNet network(WaveNet网络) CNN-LSTM混…

php反序列化漏洞——phar反序列化漏洞

一.什么是phar文件 类比java语言 JAR是开发Java程序一个应用,包括所有的可执行、可访问的文件,都打包进了一个JAR文件里使得部署过程十分简单。 PHAR("Php ARchive")是PHP里类似于JAR的一种打包文件 对于PHP 5.3 或更高版本,Ph…

【UE 网络】DS框架学习路线

目录 0 引言1 如何学习DS框架1. 熟悉Unreal Engine基础2. 学习网络编程基础3. 掌握UE网络概念4. 实践和实验5. 加入社区和论坛6. 官方示例和案例研究7. 专业书籍和在线课程 2 DS框架重要知识点有哪些1. 网络复制2. 远程过程调用(RPC)3. 客户端服务器架构…

0点起C语言

用sizeof()来查看在你的平台上到底占用多少你多少字节的内存。 Int x sizeof(int); Int xsizeof(shrt int); Int xsizeof(long); Int xsizeof(long double); 等等。 http://www.enet.com.cn/article/2012/0822/A20120822153730_2.shtml #—是个预处理的标志,表示对文…

如何本地搭建Discuz论坛并实现无公网IP远程访问

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上&a…

自动化测试的6大适用场景

不能代替手工测试,因为自动化测试有适用场景:自动化测试的6大适用场景 自动化测试可以在短时间内执行大量的测试任务,缩短了测试时间和人工成本;而自动化测试脚本可以重复执行,提高了测试效率;而通过自动化…

【C++】流程控制语句:跳转语句之Break

在C编程语言中,流程控制不仅包括循环和条件分支,还包括一类特别重要的语句——跳转语句。 这类语句允许程序在执行过程中“打破”常规流程,转而执行其他位置的代码。 C提供了四种跳转语句:break、continue、goto 以及 return。…

充电桩项目,开源啦!

好,我是田哥 很多人,最近都在关注我的充电桩项目,之前建了一个微服务架构的项目,也有单体项目的代码开源。 今天,我把最新版微服务架构的充电桩项目源代码开源。 充电桩的输入端与交流电网直接连接,输出端都…