php处理支付宝应用网关给接口发送的post参数

php如何接收支付宝应用网关发送的POST请求方式,参数又是GET请求的数据格式

    • 配置支付宝应用网关
    • 如何接收支付宝异步通知(应用网关接收请求)
    • 将&连接的参数分割成数组实例:
    • 难点

配置支付宝应用网关

首先要在服务器上写一个接口,然后将接口的访问地址设置在支付宝应用网关
在支付宝的开放平台中设置如图:
在这里插入图片描述

如何接收支付宝异步通知(应用网关接收请求)

上面配置好接口后,我就来接收post请求的数据,又不知道请求参数是啥?然后看文档、问客服、百度。然后使用file_get_contents(“php://input”);能接收到参数。并把接收到的参数保存在一个文件里面看看他的数据格式:
在这里插入图片描述
当我看到他的第一眼还以为是一个get请求。像这种post请求参数接收的时候没有参数名,并且还使用&拼接多个参数,处理起来有点小难受。

将&连接的参数分割成数组实例:

下面的实例里我将我的业务代码删除了的,要是想看拆分后的数据可以在sites.txt中将参数复制用postman看返回参数的具体值。
在这里插入图片描述

public function index(){//接收参数$postStr = file_get_contents("php://input");//调用支付宝的sdk包$aop = new \ AopClient ();//支付宝公钥赋值,配置在config文件中$aop->alipayrsaPublicKey=config('alipayrsaPublicKey');//签名方式$sign_type="RSA2";// 接收到的参数转urldecode$_POST=urldecode($postStr);// 测试将支付宝给的参数保存在public/sites.txt下// $file="sites.txt";// $url=str_replace("\\","/",  ROOT_PATH);// $url=$url."public/" .trim($file);// file_put_contents($url,$_POST);//把字符串通过&符号拆分成数组$data = explode('&', $_POST);$params = array();//遍历数组foreach ($data as $param) {$item = explode('=', $param,"2");// dump($item);$params[$item[0]] = $item[1];}//校验支付宝传入的参数是否被修改过,只要不是支付宝发送的参数都是false$flag = $aop->rsaCheckV1($params, null, $sign_type);if (!$flag){return;}//打印分割好的值,在取对应的key即可dump($params);

难点

当时写这个接口难就难在是第三方来调用你的接口,然后接收参数得跟着别人的要求来,最关键的是我还不能打印接收到的参数。还遇到我的phpstorm不能DEBUG。这就很难受,所以我写了此篇博客;

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

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

相关文章

如何调用支付宝接口

之前做web项目接入支付宝,网上看了很多文档和案列,不是不讲重点就是过时不适用了,导致走了很多弯路,经过冷静分析总算跑通了,这里分享下接入流程。 1.准备工作 1)支付宝服务商账号,现在叫蚂蚁金服&#x…

支付宝接口的调用

支付流程图 对接支付宝的准备工作 一、申请条件 1.企业或个体工商户可申请; 2. 提供真实有效的营业执照,且支付宝账户名称需与营业执照主体一致; 3. 网站能正常访问且页面信息有完整商品内容; 4. 网站必须通过ICP备案&#xff0…

微信 及支付宝 支付接口 功能

1:首页需要了解支付宝跟微信的开发文档,这里就贴上文档网址,不做过多描述 微信:https://pay.weixin.qq.com/wiki/doc/api/index.html 支付宝:https://open.alipay.com/developmentDocument.htm 2:业务流程…

android应用程序如何调用支付宝接口

最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多。 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单。而且支付宝提供的接口一直在更新&am…

小编和ChatGPT聊了下智能运维,大家看看能不能把专家替了?

近日,聊天机器人ChatGPT爆火,仅仅推出2个月,其月活跃用户就成功过亿,成为历史上增长最快的消费者应用程序。连一向高调的马斯克在使用ChatGPT都直呼“好到吓人”,甚至断言:“我们离强大到危险的AI不远了。”…

外贸单证制作常用名称中英互译表

外贸单证制作对于外贸人来说会遇到的样式很多,因此在进行这项工作的过程中,会有很多专业单证英文名称,对于这些名称的了解就很重要。这里汇信外贸管理软件整理了包含390种常用外贸单证名称的中英互译表,大家来分享吧! …

广外2023口译(非英专)复习资料以及模考反馈

大家好,有几位同学想让我更新一下口译,本人听译情况(四级听力209,六级听力197,广外笔译94) here I come!还是个人复习向,现在这个节点了,平时没练的话就只能求保命了。 …

香港中文大学计算机辅助翻译课程,港中文翻译(MA in Translation)专业申请解析...

原标题:港中文翻译(MA in Translation)专业申请解析 最近随着《亲爱的翻译官》的热播,翻译专业也重新受到大家的关注,下面我们就给大家介绍香港中文大学翻译硕士(Master of Arts in Translation)。 项目时长:1年 学费:…

【打卡帖】7日玩转ESP32——(第2日) GPIO输入,按键的长按和短按

文章目录 一、硬件准备二、知识要点三、参考例程四、今日作业五、参考答案5.1 知识点5.2 中断方式5.3 定时扫描 六、打卡~ 一、硬件准备 开发板上面有一个Boot Button按键。 从原理图可以看出,按键按下时,GPIO9是低电平。按键弹起时,GPIO是…

006. esp32 下载--第二版

1. 先按boot键(不放开),再按 复位按键,按下,放开。会进入下载模式。如果进入下载模式失败。 重复,按住Boot键不放,复位按键,按下,放开。 2.下载图示如下: …

基于ESP32的硬件项目教程(三)ESP32的引脚说明及数字信号读写操作

引脚说明 以下图为例 图片下方的英文部分已经有了介绍,本文将进行一次简述。 此型号开发板一共38个引脚,除去电源引脚外,可用IO引脚为34个,在图中有GPIO6~GPIO11等6个引脚标注有红色“!”,这6个引脚常作为…

【填坑】ESP32 bootloader初探(上)

前言 大名鼎鼎的乐鑫ESP8266 WIFI模组你应该不陌生,不用我多说了。在这之后乐鑫还更迭了更多高性能的芯片型号,比如这次我要记录的ESP32-C3,搭载近期很火的RISC-V指令集处理器,支持2.4G wifi、BLE-5,拥有丰富应用场景…

ESP32初级入门

1.下载的时候如果出现不能下载,那是因为没复位,在出现connect时按住板子上的boot按键,出进度了然后松开,就会正常下载。 2.点灯和uno一样,直接在setup里面设置管脚模式,在loop里面赋值就行,根本…

ESP32 Secure Boot和Flash加密

ESP32的代码是存在外部Flash中,如果不加密,很容易被窃取代码。 ESP32的secure boot和flash加密是两个功能,但是要配合一起使用,其加密效果才好。 一、初次加密。 这里只写可重复烧写的加密方式,其加密步骤如下&…

ESP32修改BootLoader:在boot中添加GPIO和IIC驱动方式

ESP32修改BootLoader:在boot中添加GPIO和IIC驱动方式 1. ESP Bootloader简介 ESP32有着强大的引导加载程序(Bootloader)功能: 主要执行以下任务: 内部模块的最小化初始配置; 根据分区表和 ota_data&#…

ESP32 基础篇: 启动时 rst cause 和 boot mode

本文参考 ESP32 技术参考手册 和 ESP32-WROOM-32 datasheet 简介 在 ESP32 启动时, ROM CODE 会读取 GPIO 状态和 rst cause 状态, 进而决定 ESP32 工作模式。 通过了解和掌握 rst cause 和 boot mode, 有助于定位某些系统问题。 例如: ESP32 启动时会有如下打印: rst:0x1 (…

微信小程序 自动对对联

微信小程序 自动对对联 微信扫描二维码体验吧

使用scoped让样式只对当前页面其作用时/deep/ 可以使其对子组件起作用

官方文档https://vue-loader.vuejs.org/guide/scoped-css.html#mixing-local-and-global-styles 使其样式只对当前页面起作用 影响到里面的子组件

uniapp-微信小程序,对子组件实现onShow效果

背景:使用uni-app开发一个微信小程序,使用的vue子组件,发现在子组件里面不能使用onShow生命周期,但是可以在page里面可以调用,需要在使用uni.navigateBack()返回后,该组件能请求接口数据刷新 解决&#xf…

基于强化学习的大规模多任务机器人训练

发布人:Google 机器人团队高级研究员 Karol Hausman 和研究员 Yevgen Chebotar 通用机器人要想发挥最大的作用,就需要能够完成一系列的任务,如清洁、维护和运送。但是,使用离线强化学习 (RL)(智能体使用以前收集的数据开展训练,在试验和错误中学习的一种方法)来训练,即…