当前位置: 首页 > news >正文

支付宝H5支付

业务场景:需要再手机端H5使用支付宝的支付!

第一步:

开通支付宝商户,支付宝开放平台地址放在这里了。

第二步:

创建应用+开通支付产品功能:

创建应用就不单一切图了!登录账户-管理中心就能看到-选择网页应用

然后登录 - 支付宝进入这个地址,去开通支付宝支付产品ok!

下面:

第三步:

下载支付宝提供的支付sdk,我使用的是这个支付宝提供的php-sdk,小程序文档 - 支付宝文档中心

下载好以后,预埋到我的代码里

//引用require_once root_path().'extend/aop/AopClient.php';
require_once root_path().'extend/aop/request/AlipayTradeAppPayRequest.php';//下面是一个简单的方法public function index(){$date      =request()->param();$order_sn  ='ac'.rand(10000,99999).time();$total_fee = intval($date['money']);header("Content-type:text/html;charset=utf-8");$API = array (	//应用ID,您的APPID。'app_id' => "您的APPID",//商户私钥,您的原始格式RSA私钥'merchant_private_key' => "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDUzbIIF85scEqlNLRH+BEia/GOHffvr2ZwKs25TSbLqfpl0ZtA/RwBaF6I3UKsY4q7+7j5T6duqyk6yT7IG+xKfy4BnwfzSOVRjQk/XyZIaPtrT7KOZXYWrlCL5yQzWhYlPmpeNUDUa7ASBPxNrSvVboJK3qyYDjoFU37Rvqz9PAmF3pPWccUFt1QIGSQcaH0kgoRTOovfwEXKmgC+Gi+qeOH9nIkmoO1yyu00AKCJVylCZItfdsnGQFMZvUw3Pju/XOuS6jggt9sPxQu/g8nMUJPSEQZNChdpIeQs0z8q3bgevdA1rVRUvOqOCc/9O08b/yEssaTkFcTUmsZXEtLHAgMBAAECggEBAIKvW7Dapds0TrMMHdbAwg0Ii0yCnPumFNu3faVZewTB+1NCGP0dM3Ct3rhgYQyrCM0O9nas8x7koCpI4nRTqZXKar92IZTHZITjfxVa4pC/X/9z7yzBpHajUDXKmhGrNkRjA0GdpJWPGI7IXwV43p1xAzTlcMrkmb8hmpVGasgMUmgDVdw6zsYe0esF1vs4Nm9nHBVWqQGzOBPAj+YIi7+a7XrXfV5AkM2CAkq2M+G8VS9GYCKPmHJlM+HA/MjaNhhce1RqB1VgzBp9sRdzs7TGHXJBT2hud/H/hFM35WzPNEc6HdLEQvPHNpXG2RLHiTzpy3Gt0aGZ+X60jKhYjLkCgYEA+Rmu6GI92cYzwFc8kEOtU4c3xANyZ66K4gjQzXkFCaJYlCC40x35bF3NSJAaQKiQQLJ5duanmFM5sXlrkdD2SpZedahOSkLRn36D6Pb2q92vVHxDurQXQLU9wAoOJi37gJEQ/E0xp0vMCtD1eP3iWeXarnDDTDTK9lbXKZm9z7UCgYEA2rKjo6VNp4akZEKMlcYF4lhQF1Rwgevp1QKD03rdtbtzIghW/DAXWc94I6JDFar6BHGX2OkXLWqrjogZNAyjrt1zS9wpX8jlOYEzhs4Ktvl2nC4mltpRioRxkDtLorFnQD7rpVxx5Rkb24CeNz9Bk2MX6K8wV+MQjFKc2QOzDgsCgYBnDdoPp70g4F++nhifMnB9kv5eKHLnNA2fD7iamQudfb2ZoqP0K31p+LCZ6YwC3fm32l5n82q4mQ3QP4RiMgoCt4zirjude2FP075s3ecVGUSU9kfq8OCB07l1PnO2FeXrvZhCWQlGxhPnEaXMZXSEbpR3AI27dEfXe/vN6R3e1QKBgBdSh6ry/PYJoMxkYHO0e3oo6tmiEqF4VCZ4LzDFYJF53QxbEVOxmTvlqS07p6XO5vzEVGo4aVVZk9QOZYmsc2Q5j4sefncNiIx6X9FXdcMPlXuQXGMoAxwfhbDY8fb2rkkmrKCk3CyPYe4lqDnCEC80mR8iV6h3uZMNWFa4U0cDAoGAK7RyLxiCOYZBCuNZ+lbNlhlHOfYynW3DdNXJNVy4A+lnSxO2/KCEf/cWKAtMVQk+f2tv39//c9/FbZZAcZaCcE0x6tnPZXjTvTWYuCb+6pQxGvSSZImtKft6SG8yuuEQjTMKBS9sKjrPt5gUWtLighrBJU3RIw2EuzWgBB7ODYo=",//编码格式'charset' => "UTF-8",//签名方式'sign_type'=>"RSA2",'method' =>'alipay.trade.wap.pay',//支付宝网关'gatewayUrl' => "https://openapi.alipay.com/gateway.do", //如果使用沙箱就用下面这个地址测试//'gatewayUrl' => "https://openapi-sandbox.dl.alipaydev.com/gateway.do", //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp2XVGnquupTQIAmlRR0BJZD5AuutyuABkajMv/si2JTZjg+YrmGoVeAc+ypOBfaEJ9qHdBLT+Qrl2sT6HOF43NgO2BmHn4iZtqyDOOhhfLq2wzrhyIhzsakZuHPzVIGknX6BkEl+2SgCL7lmk30fitqPA2a/fY58MhmArz3F6w5iUpdYnsUn/NiVePlGcySv06yz7wkIZutwSYuXxeU655mwxj0q89pv6yMZm5PR95RMrKGyIOOuwLiwGrqSsEFM1yNSsxJHdqnDEJKKP01FitGdETyJam667GueIyFT/O9RAN7ZZh7+0m2ixOX4ZIkznCVnrWSyZQxF5lSu9IaBiQIDAQAB",//日志路径'log_path' => "",);     //构造业务请求参数的集合(订单信息)$content = array();$content['subject']      = '支付宝支付';                 // 商品标题$content['body']         = 'APP支付';  // 商品描述 非必须$content['out_trade_no'] = $order_sn;         // 订单号$content['total_amount'] = $total_fee;       // 要求必须为浮点型,订单金额$content['product_code'] = "QUICK_MSECURITY_PAY";            //销售产品码,固定值$con = json_encode($content);                                 //$content是biz_content的值,将之转化成json字符串$this->orderAdd($order_sn,$date['money']);//公共参数$Client               = new \AopClient();                 //实例化支付宝sdk里面的AopClient类,下单时需要的操作,都在这个类里面$param                = array();$param['app_id']      = $API['app_id'];         //支付宝分配给开发者的应用ID$param['method']      = $API['method'];         //接口名称$param['charset']     = $API['charset'];       //请求使用的编码格式$param['sign_type']   = $API['sign_type'];   //商户生成签名字符串所使用的签名算法类型$param['timestamp']   = date("Y-m-d H:i:s");   //发送请求的时间$param['version']     = '1.0';       //调用的接口版本,固定为:1.0$param['notify_url']  = request()->domain() . '/index.pay/alipayNotify'; //支付宝服务器主动通知地址$param['return_url']  = request()->domain() . '/back?sn='.$order_sn; //支付宝服务器主动通知地址$param['biz_content'] = $con;              //业务请求参数的集合,长度不限,json格式$paramStr             = $Client->getSignContent($param);//组装请求签名参数  到此步目前没有问题$sign                 = $Client->alonersaSign($paramStr, $API['merchant_private_key'], 'RSA2'); //生成签名$param['sign']        = $sign;$str                  = $Client->getSignContentUrlencode($param);       //最终请求参数$url                  = $API['gatewayUrl'].'?'.$str;header("Location:".$url); }

下面提起支付后,就会来一个回调:

  //这里比较简单,根据自己业务需求去处理public function  alipayNotify(){$date  = request()->param();if(!empty($date['out_trade_no'])){log::write($date['out_trade_no']);$where['order_sn']  =$date['out_trade_no'];$where['order_pay'] =0;$result             = OrderModel::where($where)->find();if($result){$result->order_pay=1; $result->save();}}}

相关文章:

  • wsl子系统ubuntu20.04 设置docker服务开机自启动
  • 第4天:用户认证系统实现
  • 【大分享06】收、治、用、安“四管齐下”, 做好多业务系统电子文件归档与管理
  • Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层
  • Matlab基础篇:数据输入输出
  • NXP i.MX8系列平台开发讲解 - 3.15 Linux 之USB子系统(一)
  • 【机器学习300问】119、什么是语言模型?
  • 人工智能在气象预报领域的崛起:GraphCast引领新纪元
  • 使用 Redis + Lua 实现分布式限流
  • 如何修改jupyter notebook 默认把文件夹
  • 会声会影2024永久破解和谐版下载 包含激活码序列号
  • 深入理解RunLoop
  • 决策树算法详细介绍原理和实现
  • HarmonyOS角落里的知识—Stage模型应用程序
  • python基础1.2----爬虫基础
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2017年终总结、随想
  • Computed property XXX was assigned to but it has no setter
  • Go 语言编译器的 //go: 详解
  • Java多态
  • Java深入 - 深入理解Java集合
  • JS实现简单的MVC模式开发小游戏
  • KMP算法及优化
  • Python十分钟制作属于你自己的个性logo
  • SOFAMosn配置模型
  • 从输入URL到页面加载发生了什么
  • 服务器之间,相同帐号,实现免密钥登录
  • 工程优化暨babel升级小记
  • 基于web的全景—— Pannellum小试
  • 将 Measurements 和 Units 应用到物理学
  • 排序(1):冒泡排序
  • 使用agvtool更改app version/build
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 微信开放平台全网发布【失败】的几点排查方法
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • FaaS 的简单实践
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # linux从入门到精通(三)
  • #13 yum、编译安装与sed命令的使用
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (11)MATLAB PCA+SVM 人脸识别
  • (3)nginx 配置(nginx.conf)
  • (c语言+数据结构链表)项目:贪吃蛇
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (ZT)薛涌:谈贫说富
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (已解决)vue+element-ui实现个人中心,仿照原神