news 2026/5/9 23:50:35

H5页面的几种 支付方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
H5页面的几种 支付方式
1)微信 H5 支付(trade_type=MWEB)
  • 场景:微信外浏览器(Safari、Chrome、系统浏览器、QQ 浏览器等)打开的网页微信支付
  • 流程:网页下单→跳微信中间页→唤起微信 APP 付款→返回商户页微信支付
  • 关键:需备案域名、商户平台开通 “H5 支付” 并配置域名白名单微信支付
  • 注意:公众号内网页不能用这个,公众号内要用 JSAPI 支付
2)支付宝 H5 支付(官方叫 “手机网站支付”)
  • 场景:手机浏览器网页,同微信 H5
  • 流程:网页下单→跳支付宝中间页→唤起支付宝 APP;没装 APP 则引导下载或网页收银台
  • 关键:开放平台开通 “手机网站支付”,配置备案域名与回调地址

3) JSAPI 支付(公众号 H5 支付)

适用场景

  • 微信内置浏览器、公众号、服务号网页
  • 特点
  • 必须引入微信 JS-SDK,也就是这个文件:
  • <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
  • 必须微信授权登录openid
  • WeixinJSBridge.invokewx.chooseWXPay弹窗支付
  • 交易类型:trade_type=JSAPI
  • 只能在微信里用

一,微信支付

微信内两种 H5 支付的区别:

WeixinJSBridge.invoke(无 config 版)

特点:

  • 不用引入微信 jssdk
  • 不用 wx.config
  • 不用签名、不用传 url、不用配置 js 安全域名
  • 纯靠微信内核自带的能力
  • 只支持:支付
  • 最稳定、最简单、坑最少

需要 wx.config 的版本:wx.chooseWXPay

特点:

  • 必须引入 jssdk
  • 必须 wx.config 签名
  • 必须传当前 url
  • 必须配置 js 接口安全域名
  • 支持:支付 + 分享 + 扫一扫 + 定位等所有功能

wx.config({

debug: false,

appId: '你的appid',

timestamp: '后端给的',

nonceStr: '后端给的',

signature: '后端给的',

// 支付必须加这个,虽然JS-SDK列表里不显示

jsApiList: ['chooseWXPay']

});

wx.ready(function () {

wx.chooseWXPay({

timestamp: '', nonceStr: '',

package: 'prepay_id=xxx',

signType: 'RSA',

paySign: '',

success() {},

cancel() {},

fail() {}

});

});

wx.checkJsApi

微信官方文档明确写了:支付接口不支持 checkJsApi 判断; 只能检测非支付类接口,例如:

wx.checkJsApi({

jsApiList: ['scanQRCode', 'getLocation', 'chooseImage'],

success: function (res) {

console.log(res.checkResult);

}

});

二,H5支付

1、H5 支付 前置必备条件

  • 微信商户平台开通H5 支付权限
  • 商户平台配置H5 支付域名业务域名
  • 有:商户号、API 密钥、商户证书(部分接口用)
  • 网页是已备案域名,不能 IP、不能localhost

2、完整标准流程(从头到尾)

1. 用户操作

用户手机浏览器 / 微信外扫码 → 打开你的 H5 支付页面

2. 前端页面
  1. 输入金额 / 选择商品
  2. 前端把金额、订单号传给后端接口

3. 后端核心步骤(关键)

步骤 1:接收前端参数,生成唯一商户订单号

步骤 2:调用微信【统一下单接口】

请求微信接口地址:

plaintext

https://api.mch.weixin.qq.com/pay/unifiedorder

必传参数:

  • appid(公众号 / 应用 APPID)
  • mch_id 商户号
  • nonce_str 随机字符串
  • body 订单描述
  • out_trade_no 你自己的订单号
  • total_fee 支付金额
  • spbill_create_ip 用户真实 IP
  • trade_type = MWEB(固定 H5 支付类型)
  • scene_info必传,H5 必须传这个固定场景参数
  • notify_url 微信异步回调地址(支付结果异步推给你)
  • return_url 支付完成跳转回你的页面地址

重点:trade_type 填MWEB才是 H5 支付

步骤 3:微信统一下单返回

返回关键字段:

  • mweb_url微信 H5 支付中间跳转地址

步骤 4:后端把mweb_url返回给前端

4. 前端拿到 mweb_url

直接页面跳转

js

location.href = res.data.mweb_url;

浏览器会自动跳转到微信官方支付中间页

5. 用户端操作

跳转后唤起微信 → 输入密码 / 指纹 / 面容 完成付款

6. 支付后自动回流

用户支付成功 / 取消 / 关闭微信会自动跳回你后端配置的return_url页面

7. 前端回流页面处理

在 return_url 结果页:

  • 主动请求后端接口查询订单状态
  • 展示:支付成功、支付失败、已取消

8. 后端异步回调(最核心、以这个为准)

微信会主动请求你配置的notify_url

  • 携带真实支付结果、订单号、金额
  • 后端验签、校验金额、订单号
  • 校验通过 →修改订单状态、发货、充值、开通权限
  • 给微信返回固定 xml 格式成功响应

3、H5 支付 关键特点(必记)

  1. 前端不能实时拿到支付结果跳转到 mweb_url 后页面离开,JS 暂停,没法即时回调
  2. 只能靠两个方式拿结果:
    • 回流 return_url 前端查状态(给用户看)
    • 后端 notify_url 异步回调(业务真正入账)
  3. 不需要微信授权、不需要 openid和公众号静默授权完全没关系,H5 支付不用 openid
  4. 只能在外浏览器用,微信内置浏览器不要用 H5,要用 JSAPI

三,支付宝支付

支付宝内置浏览器里,普通 H5 扫码支付「不用授权、不用 user_id」,直接可以支付;只有你要「拿到用户信息 / 登录」时才需要授权。

1)使用场景:用户用支付宝 “扫一扫” 扫你的码(H5 链接)

  • 二维码内容:你的 H5 页面地址(https://xxx.com/pay)
  • 用户扫码 →支付宝内置浏览器打开你的页面
  • 你在页面里放一个 “去支付宝付款” 按钮 → 后端生成alipay.trade.wap.pay(手机网站支付)的表单 / 链接 → 前端跳转
  • 跳到支付宝收银台 →直接输密码 / 指纹付款
  • 全程不需要授权、不需要 alipay_user_id、不需要拿到用户信息

$.ajax({

url: "你的后端接口地址",

type: 'POST',

dataType: 'json',

data: data,

success: function(res){

if(res.code === 200 && res.data){

//若后端返回form表单字符串

let alipayFormHtml = res.data;

function submitAlipayForm(formStr) {

// 插入到页面

document.getElementById('payBox').innerHTML = formStr;

// 自动提交表单

setTimeout(() => {

document.forms[0].submit();

}, 100);

}

submitAlipayForm(alipayFormHtml);

//如果返回的是url地址则直接跳转到该地址即可

}else{

alert(res.msg || '创建订单失败');

}

},

error: function(){

alert('网络请求失败');

}

});

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 23:48:33

企微批量群发消息指南:用 QiWe 省掉人工操作

一条 API 即可批量发送文字、图片、小程序等多类型消息&#xff0c;告别重复人工操作。私域运营中&#xff0c;群发消息是基础而高频的操作&#xff0c;但手动群发不仅耗时&#xff0c;还容易遗漏客户。QiWe 企业微信 API 基于 RPA 自动化&#xff0c;支持批量消息发送、多账号…

作者头像 李华
网站建设 2026/5/9 23:47:33

免费视频转文字软件哪个最好用?2026 年免费视频转文字软件对比实测

截至 2026 年,处理视频转文字的工具大致分为三类:桌面软件、在线网页和微信小程序。这三类各有侧重,看似功能相近,但实际操作中的便利程度差别比较大。有人还在装桌面软件,有人转向网页版,也有人只用手机微信就搞定了。这篇文章会拆解免费视频转文字软件怎么选,我会先讲一个叫提…

作者头像 李华
网站建设 2026/5/9 23:46:47

工业AI模型可解释性实战:SHAP、LIME与ALE的稳健性评估与选型指南

1. 项目概述&#xff1a;为什么要在工业建模中较真“可解释性”的稳健性&#xff1f;在工业过程建模领域&#xff0c;模型的可解释性早已不是“锦上添花”的选项&#xff0c;而是关乎生产安全、工艺优化和决策可信度的“必需品”。想象一下&#xff0c;你基于一个复杂的深度学习…

作者头像 李华
网站建设 2026/5/9 23:45:37

RAG 文档切分、索引优化与 Reranker 学习笔记

RAG 文档切分、索引优化与 Reranker 学习笔记记录一次询问GPT的完整过程 &#xff1a;从业务场景到工程落地的一次完整梳理前言&#xff1a;这次讨论在解决什么问题 这次对话围绕 RAG 系统中的三个关键问题展开&#xff1a; 文档到底应该如何切分&#xff1f;索引应该如何优化&…

作者头像 李华
网站建设 2026/5/9 23:45:36

基于物理信息神经网络的山火预测:融合科学计算与深度学习

1. 项目概述&#xff1a;当山火遇上科学计算与深度学习山火&#xff0c;或者说野火&#xff0c;是自然界最具破坏力的力量之一。传统的预测模型&#xff0c;无论是基于气象数据的统计模型&#xff0c;还是基于物理方程的数值模拟&#xff0c;都面临着各自的瓶颈。统计模型难以捕…

作者头像 李华
网站建设 2026/5/9 23:45:34

如何将短信从 iPhone 传输到 Mac?

把 iPhone 短信传输到 Mac 已经成为一项刚需&#xff0c;无论是想在 Mac 上便捷收发信息、在大屏查看消息&#xff0c;还是为了备份或打印。本指南介绍4 种有效方法&#xff0c;帮你轻松在 Mac 上传输与管理短信数据。第一部分&#xff1a;使用 iCloud 将 iPhone 短信传输到 Ma…

作者头像 李华