H5支付 两种成熟方案

news2024/9/27 13:11:28

H5支付,对前端来讲并不算难。主要工作量都在后端,需要对接支付宝API文档配置大量参数与商户信息。

前端需要做的是正常调取支付接口,拿到配置好的支付信息,触发后续流程,再利用本地存储拿支付订单号判断支付结果即可【如果跳转支付宝的H5支付中间页,不同于IOS的机制,在嵌套安卓APP-webview的情况下会被销毁,无法保持页面状态,其中一个解决方案就是localStorage需要保存支付订单号】。

方式1:

官方相关文档

  • 通过接口返回的支付宝表单

          <div class="prize-formHtml" v-html="formHtml"></div>


          const result = await AlipayAapApi({
            orderSn:orderSn,//订单号
            totalAmount:count,//金额
            payType:1,//支付类型 1:支付宝 2:微信
            redirect:encodeURIComponent('https://xxx.xxxx.com/'),//支付完成后的回调页面地址 
          }, {
            headers: { token: `${token.value}`, authdm: authdm.value },
          });
          console.log(result);
          
          if(!result.code){
            formHtml.value = result
            nextTick(() => {
              document.forms[0].submit()// 手动执行支付
            })
          }
  • 接口会返回一个支付宝处理好的表单
    在这里插入图片描述

  • 手动提交表单后跳转支付宝H5中间页
    在这里插入图片描述

  • 点击打开支付宝,自动调起支付宝APP自动校验后完成支付,并返回配置好的回调地址,等待回调查询支付状态进行后续操作即可。

方式2:

官方相关文档

  • 通过接口返回的支付宝表单
		const result2 = await AlipayAapApi({
            orderSn:orderSn,//订单号
            totalAmount:count,//金额
            payType:1,//支付类型 1:支付宝 2:微信
            redirect:encodeURIComponent('https://xxx.xxxx.com/'),//支付完成后的回调页面地址 
          }, {
            headers: { token: `${token.value}`, authdm: authdm.value },
          });
          if(!result2.code){
            let a = document.createElement("a");
            a.style.display = "none";
            a.target = "_blank";
            document.body.appendChild(a);
            //a.href = result2.data
            a.href = 'alipays://platformApi/startApp?appId=60000157&orderStr=app_id=2017060101317939&biz_content=%7B%22time_expire%22%3A%222016-12-31+10%3A05%3A00%22%2C%22extend_params%22%3A%22%22%2C%22query_options%22%3A%22%5B%5C%22hyb_amount%5C%22%2C%5C%22enterprise_pay_info%5C%22%5D%22%2C%22subject%22%3A%22%E5%A4%A7%E4%B9%90%E9%80%8F%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22body%22%3A%22Iphone6+16G%22%2C%22passback_params%22%3A%22merchantBizType%253d3C%2526merchantBizNo%253d2016010101111%22%2C%22specified_channel%22%3A%22pcredit%22%2C%22goods_detail%22%3A%22%22%2C%22merchant_order_no%22%3A%2220161008001%22%2C%22enable_pay_channels%22%3A%22pcredit%2CmoneyFund%2CdebitCardExpress%22%2C%22out_trade_no%22%3A%2270501111111S001111119%22%2C%22ext_user_info%22%3A%22%22%2C%22total_amount%22%3A%229.00%22%2C%22timeout_express%22%3A%2290m%22%2C%22disable_pay_channels%22%3A%22pcredit%2CmoneyFund%2CdebitCardExpress%22%2C%22agreement_sign_params%22%3A%22%22%7D&charset=UTF-8&format=json&method=alipay.trade.app.pay&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&sign_type=RSA2&timestamp=2014-07-24+03%3A07%3A50&version=1.0'
            a.setAttribute("download", "link"); 
            a.click();
            document.body.removeChild(a);
          }else{
            showToast(result.msg);
            return
          }
  • 无需手动提交 通过alipays://协议拉起支付宝APP进行支付
    在这里插入图片描述

  • 这种方式无需手动操作,页面也不会被销毁。可以调起支付宝后弹窗让用户手动确认支付状态后,再去查询订单交易状态。
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot使用EasyPoi根据模板导出word or pdf

1、导出效果 1.1 wrod 1.2 pdf 2、依赖 <!--word--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.3.0</version></dependency><dependency><groupId>cn.…

leetcode968. 监控二叉树

给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1&#xff1a; 输入&#xff1a;[0,0,null,0,0] 输出&#xff1a;1 解释&#xff1a;如图所示&#x…

回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测

回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测 文章目录 一、基本原理原理流程总结 二、实验结果三、核心代码四、代码获取五、总结 回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提…

有关若依登录过程前端的对应处理学习

导言 在用C#搞完个后端后想用若依的前端做对接&#xff0c;不过很久没搞过若依了&#xff0c;想趁这个二次开发的过程记录熟悉一下登录的过程 过程 验证&#xff0c;在permission.js的路由守卫&#xff0c;这里在用户发起api请求时会验证用户的请求是否有token&#xff0c;对…

网络编程(10)——json序列化

十、day10 今天学习如何使用jsoncpp将json数据解析为c对象&#xff0c;将c对象序列化为json数据。jsoncp经常在网络通信中使用&#xff0c;也就是服务器和客户端的通信一般使用json&#xff08;可视化好&#xff09;&#xff1b;而protobuf一般在服务器之间的通信中使用 json…

C# 委托(Delegate)二

一.委托的多播&#xff08;Multicasting of a Delegate&#xff09;&#xff1a; 委托对象&#xff0c;使用 "" 运算符进行合并&#xff0c;一个合并委托调用它所合并的两个委托。使用"-" 运算符从合并的委托中移除组件委托。 注&#xff1a;只有相同类型…

使用 Napkins.dev 将草图转换为应用程序

在现代前端开发中&#xff0c;快速将设计草图转换为实际的应用程序代码是一个巨大的优势。Napkins.dev 是一个利用人工智能将网站设计草图转换成实际应用程序的平台。本文将介绍如何使用 Napkins.dev 进行这一过程。 什么是 Napkins.dev&#xff1f; Napkins.dev 是一个开源平…

机器学习-TopicModel

概率图模型基础概率潜在语义分析&#xff08;PLSA&#xff09;LDA 概率图模型基础 猜球游戏 有两个信封&#xff0c;其中一个装有一个红球&#xff0c;一个黑球。另一个信封有两个黑球。 。 假设红球价值100元&#xff0c;黑球价值1元。 你随机从其中拿起一个信封&#xff0c;从…

Linux高阶IO之select多路转接

文章目录 select多路转接timeoutfd_set返回值执行过程总结 select多路转接 多路转接有三种方案,分别是select,poll和epoll,我们都会讲解和介绍 select的函数原型是这样的 他一共有五个参数,但是可以分为三组 nfds:需要监视的最大的文件描述符值1readfds:可读文件描述符集合 …

C#邮件发送:实现自动化邮件通知完整指南!

C#邮件发送性能怎么优化&#xff1f;使用C#发送邮件的设置步骤&#xff1f; 无论是用于客户服务、内部沟通还是项目管理&#xff0c;自动化邮件通知都能显著提高效率和响应速度。AokSend将详细介绍如何使用C#邮件发送功能来实现自动化邮件通知系统。 C#邮件发送&#xff1a;配…

二、词法分析,《编译原理》(本科教学版),第2版

文章目录 一、词法分析器1.1 词法分析器的作用1.2 词法分析器的设计方法1.3Antlr 词法分析器生成器1.3.1 环境准备1.3.2 词法分析器自动生成初体验&#xff08;需了解少许正则表达式概念&#xff09;1.3.2.1 创建工程1.3.2.2 空白符逻辑1.3.2.3 实现INT类型1.3.2.4 实现单行注释…

ClkLog常见问题-埋点集成篇Sec. 2

本篇将继续解答ClkLog使用过程中【埋点集成】阶段的常见问题。 1.【埋点集成】 问&#xff1a;receiver数据接收是不是一定要有ssl证书&#xff1f; 答&#xff1a;不是。 2.【埋点集成】 问&#xff1a;接收服务地址从哪里获取&#xff1f; 答&#xff1a;接收服务地址参考&am…

死磕P7: JVM垃圾回收那点事,轻松拿捏不是事儿(一)

这是「死磕P7」系列第 003 篇文章&#xff0c;欢迎大家来跟我一起 死磕 100 天&#xff0c;争取在 2025 年来临之际&#xff0c;给自己一个交代。 上两篇介绍了 JVM 内存区域划分&#xff0c;简单记忆一下就可以了&#xff0c;后面再不断深入吧。 死磕P7: JVM内存划分必知必会…

Spring邮件发送:配置与发送邮件详细步骤?

Spring邮件发送教程指南&#xff1f;怎么用Spring邮件发送服务&#xff1f; Spring框架提供了强大的邮件发送支持&#xff0c;使得开发者能够轻松地在应用程序中集成邮件发送功能。AokSend将详细介绍如何在Spring应用中配置和发送邮件&#xff0c;帮助开发者快速掌握这一关键技…

浙大数据结构:06-图2 Saving James Bond - Easy Version

这道题是稍复杂版的dfs或bfs&#xff0c;此处我采用bfs实现 机翻&#xff1a; 1、条件准备 n为鳄鱼数量&#xff0c;jump为跳一次最大距离。 eyu数组对存每条鳄鱼的坐标位置&#xff0c;visit数组判断该鳄鱼是否走过&#xff0c;isalive判断到达该鳄鱼时能否逃离。 #includ…

探索图像生成大模型Imagen:原理、比较与应用

目录 目录 1. 引言 2. 图像生成模型的发展背景 2.1 生成对抗网络&#xff08;GAN&#xff09; 2.2 变分自编码器&#xff08;VAE&#xff09; 2.3 自回归模型 2.4 扩散模型 3. Imagen简介 3.1 模型架构 3.2 关键技术 3.3 训练数据与方法 4. Imagen与其他模型的比较 …

ArcGIS Pro高级地图可视化—双变量符号地图

ArcGIS Pro高级地图可视化 ——双变量符号地图 1 背景 “我不是双变量&#xff0c;但我很好奇。”出自2013 年南卡罗来纳州格林维尔举行的 NACIS 会议上&#xff0c;双变量地图随着这句俏皮的话便跳跃在人们的视角下&#xff0c;在讨论二元映射之后&#xff0c;它不仅恰逢其…

AOT源码解析4.5-AOT整体结构

论文阅读 papergithub论文阅读笔记AOT源码解析1-数据集处理AOT源码解析2-encoderdecoderAOT源码解析3-模型训练AOT源码解析4.1-model主体AOT源码解析4.2-model主体AOT源码解析4.3-model主体AOT源码解析4.4-model主体AOT源码解析4.5-model主体 4.1~4.4小节详细讲解了ref_imgs相…

15年408-数据结构

第一题 解析&#xff1a; 栈第一次应该存main的信息。 然后进入到main里面&#xff0c;要输出S(1)&#xff0c;将S(1)存入栈内&#xff0c; 进入到S(1)中&#xff0c;1>0,所以还要调用S(0) S(0)进入栈中&#xff0c;此时栈内从下至上依次是main(),S(1),S(0) 答案选A 第二题&…

Java基于相似算法实现以图搜图

一、简述 本文主要讲如何利用图片相似性算法&#xff0c;基于LIRE来实现图片搜索。 二、依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core --><dependency><groupId>org.apache.lucene</groupId><…