支付宝订单码支付

embedded/2024/12/25 11:56:02/

1.订单码支付,首先下载官方网站提供的sdk包到你的项目中。

2.选择控制器复制官方文档的获取二维码相关的代码示例。打开sdk包中v2的index.php文件,这个才是你选择语言的具体代码。

3.引用里面所需要的类文件,文件下载到你的项目中后,需要根据你的项目文件,重新配置命名空间,而后在你的控制器中引用。(有些引用的文件中会引用到其他文件,那么相对应的文件也需配置新的命名空间)

4.将例图中示例代码复制到控制器中,修改为你的appid、公钥私钥等信息,及订单号价格等。(不要改动其他数据格式)
5.访问此代码,会得到一个二维码的信息,只需交给前端展示就行。

6.异步请求验证签名信息:
   1)在配置信息中会提前设定好异步请求的路径信息。
   2)异步验签官方文档:小程序文档 - 支付宝文档中心。此为php,选择异步同步通知数据验签的代码。

  3)我在验签中,使用文档中的签名串拼接验签一直不通过,后来询问他们技术,说按post返回的数据顺序排列拼接签名字符串,结果就通过了。

php"><?php
public function alipay_notify_url(){$public_key = ""; //公钥$notify_data = $_POST;testLog('notifyOrder', date('Y-m-d H:i:s') . "【支付宝充值正常测试回调data】\r\n" . json_encode($notify_data,JSON_UNESCAPED_UNICODE) . "\r\n");$aop = new AopClient ();//编码格式$aop->postCharset="UTF-8";//签名方式$sign_type="RSA2";//支付宝公钥赋值$aop->alipayrsaPublicKey= $public_key;//回调的待验签字符串$_POST ="gmt_create=".$notify_data['gmt_create']."&charset=utf-8&seller_email=".$notify_data['seller_email']."&subject=".$notify_data['subject']."&sign=".$notify_data['sign']."&buyer_id=".$notify_data['buyer_id']."&body=".$notify_data['body']."&invoice_amount=".$notify_data['invoice_amount']."&notify_id=".$notify_data['notify_id']."&fund_bill_list=".$notify_data['fund_bill_list']."&notify_type=trade_status_sync&trade_status=TRADE_SUCCESS&receipt_amount=".$notify_data['receipt_amount']."&buyer_pay_amount=".$notify_data['buyer_pay_amount']."&app_id=".$notify_data['app_id']."&sign_type=RSA2&seller_id=".$notify_data['seller_id']."&gmt_payment=".$notify_data['gmt_payment']."&notify_time=".$notify_data['notify_time']."&version=1.0&out_trade_no=".$notify_data['out_trade_no']."&total_amount=".$notify_data['total_amount']."&trade_no=".$notify_data['trade_no']."&auth_app_id=".$notify_data['auth_app_id']."&buyer_logon_id=".$notify_data['buyer_logon_id']."&point_amount=0.00";//把字符串通过&符号拆分成数组$data = explode('&', $_POST);$params = array();//遍历数组foreach ($data as $param) {$item = explode('=', $param,"2");$params[$item[0]] = $item[1];}//输出拆分后的数据,验签代码$flag = $aop->rsaCheckV1($params, null, $sign_type);
}

7.回调通知这里,若刚开始失败,可用打印到文件里的信息取出来直接访问测试。我原本就是刚开始真机调试了多次,到验签最后一步一直没成功,也没打印到任何数据。后来用打印数据直接调试发现是验签方法中有个类文件未引用成功。
当然,若遇到其他问题,也可直接咨询支付宝在线技术支持,他们会详细的给你解答你遇到的问题。


http://www.ppmy.cn/embedded/148606.html

相关文章

网络下载ts流媒体

网络下载ts流媒体 查看下载排序合并 很多视频网站&#xff0c;尤其是微信小程序中的长视频无法获取到准确视频地址&#xff0c;只能抓取到.ts片段地址&#xff0c;下载后发现基本都是5~8秒时长。 例如&#xff1a; 我们需要将以上地址片段全部下载后排序后再合成新的长视频。 …

Redis——缓存雪崩

文章目录 1. 问题介绍2. 解决方案2.1 方案一&#xff1a;随机过期时间2.2 方案二&#xff1a;增强 Redis 集群的可用性2.3 方案三&#xff1a;多级缓存2.3.1 做法2.3.2 流程2.3.3 示例代码2.3.4 评价 2.4 方案四&#xff1a;限流 3. 总结 1. 问题介绍 缓存雪崩&#xff1a;大量…

UE5 物体自动跟随主角镜头转向

A、思路 Tick&#xff0c;设置物体世界旋转 旋转数值源于物体自身位置与玩家摄像机位置的差值 效果是物体自动转向&#xff0c;玩家镜头动&#xff0c;则物体也随之调整角度。 适合一些提示文字&#xff0c;如按键提示、帮助之类。 B、参考图

PHP医院安全(不良)事件管理系统源码,通过运用RCA分析工具,借助柏拉图、鱼骨图等分析工具,分析问题产生的根本原因

医院安全&#xff08;不良&#xff09;事件管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;实现以事件为主要对象&#xff0c;可以自动、及时、实际地反应医院的安全、不良、近失事件的情况&#xff0c;更好地掌握不良事件的…

Java 深拷贝全面解析

1. 引言 在 Java 编程中&#xff0c;对象之间的复制是一个常见的需求。根据复制的深度不同&#xff0c;我们可以将复制分为浅拷贝和深拷贝。本文将深入探讨 深拷贝&#xff08;Deep Copy&#xff09; 的概念、应用场景、具体实现方法及其优缺点&#xff0c;并提供一些实用的建…

项目开源能够带来什么?从中得到了什么?

开源软件项目的发展趋势和参与经验是一个多维度的话题&#xff0c;涉及技术进步、经济影响、社区动态以及个人成长等多个层面。以下是针对当前开源项目发展趋势的分析&#xff0c;以及参与开源项目时可能获得的经验和收获。 当前开源项目的发展趋势 技术领域的渗透加深&#x…

专业的内外网数据交换方案 可解决安全、效率、便捷3大问题

内外网数据交换是很多企业和行业都会面临的场景&#xff0c;既然隔离了内外网&#xff0c;重中之重就是要确保数据的安全性&#xff0c;其次在数据流转交换过程中&#xff0c;不能太繁琐复杂&#xff0c;需要让用户快速、便捷的进行数据交换。首先我们来看看&#xff0c;在进行…

太速科技-428-基于XC7Z100+ADRV9009的双收双发无线电射频板卡

基于XC7Z100ADRV9009的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100ADRV9009的双收双发无线电射频板卡是基于Xilinx ZYNQ FPGA和ADI的无线收发芯片ADRV9009开发的专用功能板卡&#xff0c;用于5G小基站&#xff0c;无线图传&#xff0c;数据收发等领域。 二…