H5使用支付宝支付

news2024/11/15 16:00:53

详情可参考支付宝开发文档:支付宝开发文档

前端把购买信息通过请求接口告诉后端,接口返回含有支付相关信息字符串string,前端插入html中调用

例:form

< form name = "punchout_form"
method = "post"
action = "https://openapi.alipay.com/gateway.do?app_cert_sn=111111111111111&charset=utf-8&alipay_root_cert_sn=22222222222&method=3333333&sign=4444&return_url=5555&notify_url=6666&version=1.0&app_id=7777&sign_type=888&timestamp=2022-02-01+10%3A17%3A41&alipay_sdk=9999&format=json" >
    <
    input type = "hidden"
name = "biz_content"
value = "{&quot;time_expire&quot;:&quot;2024-07-08 10:20:41&quot;,&quot;out_trade_no&quot;:&quot;111111&quot;,&quot;total_amount&quot;:&quot;100&quot;,&quot;subject&quot;:&quot;323商品名称自测&quot;,&quot;product_code&quot;:&quot;QUICK_WAP_WAY&quot;,&quot;body&quot;:&quot;323商品名称&quot;}" >
    <
    input type = "submit"
value = "立即支付"
style = "display:none" >
    <
    /form> <
    script > document.forms[0].submit(); < /script>

接口相关信息解析

  • url:支付宝 - 网上支付 安全快速!
  • app_cert_sn:应用公钥证书
  • charset:编码格式,如 utf-8、gbk、gb2312
  • alipay_root_cert_sn:公钥证书签名
  • return_url:支付成功后点击完成会自动跳转回商家页面地址, 同时在 URL 地址上附带支付结果参数,回跳参数可查看本文
  • notify_url:异步通知地址,用于接收支付宝推送给商户的支付/退款成功的消息
  • app_id:支付宝分配给开发者的应用 ID。
  • method:接口名称,示例值:alipay.trade.wap.pay.return
  • version:调用的接口版本,固定为:1.0
  • sign:支付宝对本次支付结果的 签名,开发者必须使用支付宝公钥验证签名
  • sign_type:商家生成签名字符串所使用的签名算法类型,目前支持 RSA2

生成签名:https://opendocs.alipay.com/open/02khjm

后端接入开发文档

技术接入:https://opendocs.alipay.com/support/01rauz?pathHash=e1329208

获取支付宝根证书

如何获取支付宝根证书 SN(alipay_root_cert_sn)

链接:https://opendocs.alipay.com/support/01rauy?pathHash=590aaa91

前端渲染

插入dom

  let el = document.getElementById(id)
  if (el) {
    el.innerHTML = mwebUrl
  } else {
    el = document.createElement('div')
    el.id = id
    el.innerHTML = mwebUrl
    document.body.appendChild(el)
  }
  el.querySelector('form')?.submit()

或者

  // 取回来的是支付宝提供的一段自执行的form表单代码
  // 这里我把这段代码插入页面中,并手动触发
  const div = document.createElement('div');
  div.innerHTML = resAlipay.data.form;
  document.body.appendChild(div);
  document.forms[0].submit();

支付宝流程图

H5接入支付宝支付,在支付宝配置好相关信息,会得到代码配置在后端基本上即可使用。 

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

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

相关文章

2024年【安全员-C证】考试及安全员-C证免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证考试根据新安全员-C证考试大纲要求&#xff0c;安全生产模拟考试一点通将安全员-C证模拟考试试题进行汇编&#xff0c;组成一套安全员-C证全真模拟考试试题&#xff0c;学员可通过安全员-C证免费试题全真模…

小米引入OceanBase数据库,试点业务数据库性能实现2-3倍提升

近日&#xff0c;小米集团确认在部分业务系统上使用蚂蚁集团自主研发的OceanBase数据库。小米智能制造依托OceanBase所提供的原生分布式数据库能力&#xff0c;对试点业务系统进行升级&#xff0c;并已稳定运行数月&#xff0c;不仅确保了业务连续性&#xff0c;还实现了性能的…

ICC2:ignore pin的设置

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 相关文章链接:

谷粒商城学习笔记-2-分布式组件-SpringCloud Alibaba-Nacos注册中心

文章目录 一&#xff0c;Nacos简介1&#xff0c;简介2&#xff0c;Nacos原理剖析 二&#xff0c;Nacos服务端安装1&#xff0c;下载 nacos-server2&#xff0c;解压启动nacos-server3&#xff0c;验证 三&#xff0c;服务注册步骤1&#xff0c;引用Nacas客户端的Jar包2&#xf…

电脑经常黑屏

情况简述&#xff1a; 电脑经常突然黑屏&#xff0c;并且鼠标还能看到并且可操控 你是不是试过以下方法&#xff1a; 更换显卡驱动版本❌重置BIOS❌重装系统❌全网找千篇一律没啥用的教程❌ 这个标志熟悉吧&#xff0c;看看你的电脑里是否安装了火绒&#xff0c;如果装了继续…

Vue90-Vuex模块化:namespace

一、模块化的目标 当业务很复杂的时候&#xff0c;各个模块中的内容会很多&#xff0c;所以&#xff0c;要将不同业务功能的模块放到不同的位置 二、实现 2-1、模块内容的拆分 将对应的模块的内容&#xff0c;添加到对应的对象中去。 2-2、拆分后模块的使用 1、方式一 2、方…

加密与安全_密钥体系的三个核心目标之完整性解决方案

文章目录 Pre机密性完整性1. 哈希函数&#xff08;Hash Function&#xff09;定义特征常见算法应用散列函数常用场景散列函数无法解决的问题 2. 消息认证码&#xff08;MAC&#xff09;概述定义常见算法工作原理如何使用 MACMAC 的问题 不可否认性数字签名&#xff08;Digital …

c++语法之缺省参数

缺省参数通俗来说就是一个函数里面有初值的参数。有初值那么就可以不传参。 基础语法 缺省分为全缺省和半缺省 全缺省 我们来看它的基础语法&#xff0c;我们以add函数为例: 语法基础就是在给要规定成缺省参数的变量后面一个值 我们可以看到给add传参就会使用默认的数据。…

WPF 表格控件斑马线使用

这里用ListView为案例。 如图效果&#xff1a; 主要思路&#xff1a; 用AlternationCount属性来设置需要使用斑马线的条数&#xff0c;就是说几行一换色&#xff0c;也可以理解为需要几种颜色&#xff0c; 然后再样式模板中&#xff0c;写触发器属性ItemsControl.Alternatio…

CSS原子化

目录 一、定义 二、原子化工具 2.1、tailwind 2.1.1、以PostCss插件形式安装 2.1.2、不依赖PostCss安装 2.1.3、修改原始配置 2.2、unocss 三、优缺点 3.1、优点 3.2、缺点 一、定义 定义&#xff1a;使用一系列的助记词&#xff0c;利用类名来代表样式。 二、原子化…

.locked勒索病毒解析与防护指南

引言 随着信息技术的飞速发展&#xff0c;网络安全问题日益严峻&#xff0c;其中勒索病毒成为威胁企业和个人数据安全的重要隐患之一。在众多勒索病毒家族中&#xff0c;.locked勒索病毒以其独特的加密方式和广泛的传播途径&#xff0c;引起了广泛的关注。本文将从多个方面详细…

LeetCode42(接雨水)[三种解法:理解动态规划,双指针,单调栈]

接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 这是一道困难题,难度确实有点层次.我们先来朴素思想走一波. 要求能接多少雨水,我们可以具化到每个硅谷,每个硅谷能存多少雨水,那么答案就是每个…

基于 LlamaIndex、Claude-3.5 Sonnet 和 MongoDB,构建具有超级检索能力的智能体

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、算法项目落地经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 总结链接如…

算法学习笔记(8)-动态规划基础篇

目录 基础内容&#xff1a; 动态规划&#xff1a; 动态规划理解的问题引入&#xff1a; 解析&#xff1a;&#xff08;暴力回溯&#xff09; 代码示例&#xff1a; 暴力搜索&#xff1a; Dfs代码示例&#xff1a;&#xff08;搜索&#xff09; 暴力递归产生的递归树&…

easily-openJCL 让 Java 与显卡之间的计算变的更加容易!

easily-openJCL 让 Java 与显卡之间的计算变的更加容易&#xff01; 开源技术栏 本文介绍了关于在 Java 中 easily-openJCL 的基本使用&#xff01;&#xff01;&#xff01; 目录 文章目录 easily-openJCL 让 Java 与显卡之间的计算变的更加容易&#xff01;目录 easily-op…

【ARMv8/v9 GIC 系列 2.4 -- GIC SGI 和 PPI 中断的启用配置】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC SGI 和 PPI 中断的使能配置GICR_ISENABLER0 操作使用举例SummaryGIC SGI 和 PPI 中断的使能配置 GICR_ISENABLER0寄存器(中断设置-使能寄存器0)用于启用相应的SGI(软件生成中断)或PPI(专用外设中断)向CPU接口的转发。每个…

Vue3中drawer组件无法重新回显数据

不做drawer的时候数据是可以正常回显的&#xff0c;点击详情id是正常传值的&#xff0c;但是使用了drawer组件以后发现只会调用一次详情功能&#xff0c;以后不管点击哪条信息都不会刷新信息永远都是第一条的信息&#xff0c;但是id刷新成功了&#xff0c;后来发现是没有加v-if…

HTML5新增的input元素类型:number、range、email、color、date等

HTML5 大幅度地增加与改良了 input 元素的种类&#xff0c;可以简单地使用这些元素来实现 HTML5 之前需要使用 JavaScript 才能实现的许多功能。 到目前为止&#xff0c;大部分浏览器都支持 input 元素的种类。对于不支持新增 input 元素的浏览器&#xff0c;input 元素被统一…

数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比

开源生态 众所周知&#xff0c;MySQL主备库&#xff08;两节点&#xff09;一般通过异步复制、半同步复制&#xff08;Semi-Sync&#xff09;来实现数据高可用&#xff0c;但主备架构在机房网络故障、主机hang住等异常场景下&#xff0c;HA切换后大概率就会出现数据不一致的问…

动感剧场设计师:打造流畅而生动的三维动画和特效

三维画图软件是设计领域必不可少的工具&#xff0c;它可以创建非常精确的三维模型&#xff0c;能够帮助设计师直观感受产品的外观&#xff0c;随时进行编辑和调整。与传统的三维画图软件相比&#xff0c;的三维画图软件无需进行安装步骤&#xff0c;节省时间又节省内存。本文将…