PHP支付宝--转账到支付宝账户

官方参考文档:

​https://opendocs.alipay.com/open/62987723_alipay.fund.trans.uni.transfer?scene=ca56bca529e64125a2786703c6192d41&pathHash=66064890​

可以使用默认应用,也可以自建新应用,此处以默认应用来讲解【默认应用默认支持该API】

一:给应用配置加签方式

按照下面的提示,在本地电脑上安装密钥工具并生成密钥文件。

二:下载SDK

https://opendocs.alipay.com/open/54/103419/

把代码放在服务器项目目录中【sdk/ali_transfer】

目录请根据自己实际项目需要自定义即可。

使用命令行将压缩包解压  unzip 压缩包名称

最后调整为如下格式:

在官方文档页面,找到集成工具

选择在线调试

注意:此API在线调试工具里的代码是沙箱环境下的代码,不能作为正常业务逻辑操作代码。

复制右侧的php代码到自己的项目中,并把代码加以改造。

    require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AopClient.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AopCertClient.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AopCertification.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AlipayConfig.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/request/AlipayFundTransUniTransferRequest.php';$privateKey = "MIIEvQIBADANBgkqhki*********************EFAgiCdrM61I=";//支付宝密钥工具生成的应用私钥$alipayConfig = new \AlipayConfig();$alipayConfig->setPrivateKey($privateKey);$alipayConfig->setServerUrl("https://openapi.alipay.com/gateway.do");$alipayConfig->setAppId("2021********2401"); //支付宝后台应用appID$alipayConfig->setCharset("UTF-8");$alipayConfig->setSignType("RSA2");$alipayConfig->setEncryptKey(""); //为空即可$alipayConfig->setFormat("json");$appCertPublicKey = file_get_contents(ROOT_PATH.'addons/epay/certs/appCertPublicKey.crt'); //证书路径自行修改$alipayConfig->setAppCertContent($appCertPublicKey); //应用公钥$alipayCertPublicKey = file_get_contents(ROOT_PATH.'addons/epay/certs/alipayCertPublicKey.crt');//证书路径自行修改$alipayConfig->setAlipayPublicCertContent($alipayCertPublicKey); //支付宝公钥证书$alipayRootCert = file_get_contents(ROOT_PATH.'addons/epay/certs/alipayRootCert.crt');//证书路径自行修改$alipayConfig->setRootCertContent($alipayRootCert); //支付宝根证书$alipayClient = new \AopCertClient($alipayConfig);$alipayClient->isCheckAlipayPublicCert = true;$request = new \AlipayFundTransUniTransferRequest();$out_biz_no = "ybjz".date('YmdHis',time()).rand(10000000,99999999);$data=['out_biz_no'=>$out_biz_no,'trans_amount'=>0.1, //转账金额(单位为元)'biz_scene'=>'DIRECT_TRANSFER','product_code'=>'TRANS_ACCOUNT_NO_PWD','order_title'=>'提现','payee_info'=>['identity'=>'138********', //支付宝手机号'identity_type'=>'ALIPAY_LOGON_ID','name'=>'张某某', //支付宝姓名]];$request->setBizContent(json_encode($data));$responseResult = $alipayClient->execute($request);$responseApiName = str_replace(".","_",$request->getApiMethodName())."_response";$response = $responseResult->$responseApiName;if(!empty($response->code)&&$response->code==10000){//业务处理逻辑,如记录订单号,改变订单状态等//**********echo("调用成功");}else{echo("调用失败");}

调用成功后返回的信息如下:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode插件开发

准备 安装开发依赖 npm install -g yo generator-code 安装后,运行命令 yo code 运行 打开项目, 点击 vscode 调式 按 F5 或点击调试运行按钮 会打开一个新窗口,在新窗口按快捷键 CtrlShiftP ,搜索 Hello World 选择执行 右下角出…

win11安装wsl报错:无法解析服务器的名称或地址(启用wsl2)

1. 启用wsl报错如下 # 查看可安装的 wsl --install wsl --list --online此原因是因为没有开启DNS的原因,所以需要我们手动开启DNS。 2. 按照如下配置即可 Google的DNS(8.8.8.8和8.8.4.4) 全国通用DNS地址 (114.114.114.114) 3. 运行以下命令来重启 WSL…

mysql 存储空间增大解决方案

一:查询数据库中表占比比较多的表 SELECT table_name AS "Tables", round(((data_length index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.tables WHERE table_schema "自己的数据库名"; …

【MySQL】数据库基础库/表的操作数据类型详解

主页:醋溜马桶圈-CSDN博客 专栏:实战项目_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.什么是数据库 2.主流数据库 3.基本使用 3.1 MySQL安装 3.2 连接服务器 3.3 服务器管理 3.4 服务器、数据库、表关系 3.5 …

【kafka系列】消费者

目录 获取消息 1. 消费者获取消息的流程逻辑分析 阶段一:消费者初始化 阶段二:分区分配与重平衡(Rebalance) 阶段三:消息拉取与处理 阶段四:偏移量提交 核心设计思想 2. 流程 关键点总结 常见参数…

仿叮咚买菜鸿蒙原生APP

# DingdongShopping 这是一个原生鸿蒙版的仿叮咚买菜APP项目 鸿蒙Next发布至今已经有一年多的时间了,但有时候我们想要实现一些复杂的功能或者效果,在开发文档上查阅一些资料还是比较费时的,有可能还找不到我们想要的内容。而社会层面上分享…

Linux 进程控制(进程创建,进程等待)

目录 进程创建 fork函数初识 fork函数返回值 写时拷贝 fork常规用法 fork调用失败的原因 进程终止 进程退出场景 进程退出码 进程常见退出方法 exit函数 _exit函数 return退出 return、exit和_exit之间的区别与联系 进程异常退出 进程等待 进程等待的必要性 获…

ROS2下Rviz显示orbbec相机depth深度图

ROS2下Rviz显示orbbec相机depth深度图 视频讲解 ROS2下Rviz显示orbbec相机depth深度图 在《ROS2下编写orbbec相机C package并Rviz显示》的基础上&#xff0c;继续添加depth图像的获取及显示 rgb_publisher_ this->create_publisher<sensor_msgs::msg::Image>("…

算法——结合实例了解Minimax算法(极小化极大算法)

计算机科学中最有趣的事情之一就是编写一个人机博弈的程序。有大量的例子&#xff0c;最出名的是编写一个国际象棋的博弈机器。但不管是什么游戏&#xff0c;程序趋向于遵循一个被称为Minimax算法&#xff0c;伴随着各种各样的子算法在一块。本篇将简要介绍 minimax 算法&#…

场外个股期权下单后多久成交?场外个股期权对投资组合的影响

对普通老板们而言&#xff0c;它如同精密手术刀——用得好可精准优化投资组合&#xff0c;用不好则可能伤及本金。记住两个关键&#xff1a;一是永远用"亏得起的钱"参与&#xff0c;二是把合约条款当"药品说明书"逐字研读。 场外个股期权下单后多久成交&am…

SolidWorks C# How

目录 1.如何创建C#插件程序? 2.插件程序需要继承的类是什么? 3.如何创建C#.net WPF程序? 4.WPF界面程序参考 5.如何获取类的框图 6.如何安装XCAD.net的 nuget包 7.如何扩展命令到菜单栏和工具栏 8.如何添加自定义面板 9.如何对文档管理进行编程 10.XCAD 开发solid…

【Go并发编程】Goroutine 调度器揭秘:从 GMP 模型到 Work Stealing 算法

每天一篇Go语言干货&#xff0c;从核心到百万并发实战&#xff0c;快来关注魔法小匠&#xff0c;一起探索Go语言的无限可能&#xff01; 在 Go 语言中&#xff0c;Goroutine 是一种轻量级的并发执行单元&#xff0c;它使得并发编程变得简单高效。而 Goroutine 的高效调度机制是…

华为昇腾 910B 部署 DeepSeek-R1 蒸馏系列模型详细指南

本文记录 在 华为昇腾 910B(65GB) * 8 上 部署 DeepSeekR1 蒸馏系列模型&#xff08;14B、32B&#xff09;全过程与测试结果。 NPU&#xff1a;910B3 (65GB) * 8 &#xff08;910B 有三个版本 910B1、2、3&#xff09; 模型&#xff1a;DeepSeek-R1-Distill-Qwen-14B、DeepSeek…

桥接模式 Bridge Pattern

桥接模式Abstraction 和 Implementor 的理解 在图书馆看到一本 通过电商项目真正实战《贯穿设计模式》。拿起来翻到了 桥接模式&#xff0c;感觉味道不对&#xff0c;和我印象中不一样。 感谢这位同学提供的源码 贯穿设计模式-适配器模式桥接模式_-CSDN博客GitHub - WeiXiao…

gitee SSH 公钥设置教程

Gitee 提供了基于 SSH 协议的 Git 服务,在使用 SSH 协议访问仓库仓库之前,需要先配置好账户 SSH 公钥。 1、生成秘钥 Windows 用户建议使用 Windows PowerShell 或者 Git Bash,在 命令提示符 下无 cat 和 ls 命令。 ssh-keygen -t ed25519 -C "Gitee SSH Key"中间…

jenkins war Windows安装

Windows安装Jenkins 需求1.下载jenkins.war2.编写快速运行脚本3.启动Jenkins4.Jenkins使用 需求 1.支持在Windows下便捷运行Jenkins&#xff1b; 2.支持自定义启动参数&#xff1b; 3.有快速运行的脚步样板。 1.下载jenkins.war Jenkins下载地址&#xff1a;https://get.j…

string类详解(上)

文章目录 目录1. STL简介1.1 什么是STL1.2 STL的版本1.3 STL的六大组件 2. 为什么学习string类3. 标准库中的string类3.1 string类3.2 string类的常用接口说明 目录 STL简介为什么学习string类标准库中的string类string类的模拟实现现代版写法的String类写时拷贝 1. STL简介 …

[数据结构]红黑树,详细图解插入

目录 一、红黑树的概念 二、红黑树的性质 三、红黑树节点的定义 四、红黑树的插入&#xff08;步骤&#xff09; 1.为什么新插入的节点必须给红色&#xff1f; 2、插入红色节点后&#xff0c;判定红黑树性质是否被破坏 五、插入出现连续红节点情况分析图解&#xff08;看…

java练习(28)

ps&#xff1a;练习来自力扣 给定一个二叉树&#xff0c;判断它是否是平衡二叉树 // 定义二叉树节点类 class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.va…

Java并发编程6--重排序

重排序是指 编译 器和 处 理器 为 了 优 化程序性能而 对 指令序列 进 行重新排序的一种手段。 1.数据依赖性 如果两个操作 访问 同一个 变 量&#xff0c;且 这 两个操作中有一个 为 写操作&#xff0c;此 时这 两个操作之 间就存在数据 依赖性。 数据依赖的类型 上面 3 种情…