返回

从零开始!带你体验H5页面接入微信支付的酸爽

前端

如何将 Vue 制作的 H5 页面接入微信支付

前提准备

  1. 注册并开通微信支付商户号

    • 前往微信支付官方网站 (https://pay.weixin.qq.com/) 注册商户号。
    • 提交相关材料进行审核,通过审核后即可开通商户号。
  2. 将公众号与商户号关联

    • 登录微信支付商户平台,点击“产品中心” - “公众号支付” - “关联公众号”。
    • 根据提示操作,将公众号与商户号关联。
  3. 在商户号中配置支付授权目录和回调目录

    • 登录微信支付商户平台,点击“产品中心” - “公众号支付” - “支付授权目录”,添加支付授权目录。
    • 登录微信公众平台,点击“设置” - “公众号设置” - “功能设置” - “网页授权域名”,添加回调目录。

接入流程

  1. 获取微信支付参数

    • 向微信支付服务器发送统一下单请求,获取预支付订单。
    • 预支付订单中包含微信支付所需的参数。
  2. 调用微信支付

    • 使用微信支付 SDK 调用微信支付。
    • 传入获取到的微信支付参数。

代码实现

引入微信支付 SDK

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

获取微信支付参数

const unifiedOrderRes = await wx.request({
  url: 'https://api.mch.weixin.qq.com/pay/unifiedorder',
  method: 'POST',
  data: {
    body: '商品',
    out_trade_no: '商户订单号',
    total_fee: '支付金额',
    trade_type: 'JSAPI',
  },
});

调用微信支付

wx.chooseWXPay({
  timestamp: unifiedOrderRes.data.timestamp,
  nonceStr: unifiedOrderRes.data.nonce_str,
  package: unifiedOrderRes.data.package,
  signType: unifiedOrderRes.data.sign_type,
  paySign: unifiedOrderRes.data.pay_sign,
  success: (res) => {
    // 支付成功
  },
  fail: (err) => {
    // 支付失败
  },
});

注意事项

  • 在使用微信支付 SDK 之前,需要先调用 wx.config 方法进行配置。
  • wx.chooseWXPay 方法只支持在微信客户端中使用。
  • 微信支付的回调 URL 必须与配置的回调目录一致。

常见问题解答

  1. 如何获取商户号的 AppID?

    • 登录微信支付商户平台,点击“账户中心” - “账户设置”即可查看 AppID。
  2. 如何获取公众号的 AppSecret?

    • 登录微信公众平台,点击“开发” - “基本配置”即可查看 AppSecret。
  3. 如何配置服务器回调 URL?

    • 登录微信公众平台,点击“开发” - “基本配置” - “服务器配置”即可配置回调 URL。
  4. 支付失败后,如何处理退款?

    • 登录微信支付商户平台,点击“交易中心” - “订单查询”,找到需要退款的订单,点击“退款”。
  5. 微信支付是否支持信用卡支付?

    • 支持。需要在商户号中开通信用卡支付功能。