微信 H5 支付说明

Wap支付接入文档 · 商户申请指引 · 技术集成方案

📌 关于本说明:本页用于说明智源论坛技术博客平台申请并集成微信H5支付的业务场景、接入流程和技术方案。如需申请微信支付商户号,请参考本页内容。

一、支付场景概述

智源论坛是一个面向技术开发者的内容付费平台,提供免费技术文章、付费精品课程以及推广返佣服务。用户可通过微信H5支付购买付费课程、开通会员、支付推广服务费等。

主要支付场景

  • 付费课程购买:用户购买精品技术课程,价格区间 ¥29 - ¥299
  • 会员订阅:月度/年度会员,享受所有付费内容
  • 一对一咨询:技术专家付费咨询服务
  • 推广服务费:高级推广者升级费用
  • 电子书籍:技术电子书付费下载

二、业务说明

2.1 业务模式

智源论坛采用B2C(商家对消费者)在线知识付费模式,平台作为内容提供方,用户通过微信支付购买相应服务。

2.2 商户信息

商户类型:个体工商户 / 企业
经营类目:信息技术服务 - 软件开发服务
经营内容:技术内容创作、在线教育、知识付费
网站类型:PC端 + H5移动端
日均交易:预计 ¥5,000 - ¥50,000

2.3 商品/服务定价

  • 单篇付费文章:¥9.9 - ¥29
  • 精品课程:¥29 - ¥299
  • 月度会员:¥39/月
  • 年度会员:¥299/年(推荐)
  • 定制咨询服务:¥99 - ¥999/次

三、支付流程

微信H5支付是指商户在移动端网页提供的支付服务。用户通过微信浏览器外的H5页面发起支付,调用微信支付完成付款。

3.1 业务流程图

用户浏览H5页面 → 选择商品 → 提交订单
        ↓
   后端统一下单API(获取支付链接)
        ↓
   返回mweb_url跳转地址
        ↓
   浏览器跳转到微信支付中间页
        ↓
   用户确认支付(输入密码)
        ↓
   微信返回支付结果
        ↓
   异步通知商户后台
        ↓
   页面跳转到支付结果展示

3.2 时序说明

  1. 用户在商户H5页面选择商品,确认下单
  2. 商户后台生成商户订单号,调用微信统一下单API
  3. 微信支付后台返回支付链接(mweb_url)
  4. 商户前端通过页面跳转方式跳转到mweb_url
  5. 用户在微信支付中间页完成支付
  6. 支付完成后微信回调商户后台通知支付结果

四、商户号申请

4.1 申请条件

  • 已注册工商营业执照(个体工商户或企业)
  • 已完成ICP备案的网站
  • 网站内容符合国家法律法规要求
  • 具备一定的技术开发能力

4.2 申请流程

  1. 访问 微信支付商户平台
  2. 注册账号并提交营业执照、身份证、银行账户等资料
  3. 等待微信支付审核(一般1-7个工作日)
  4. 审核通过后获取商户号(MCH_ID)和API密钥
  5. 下载API证书,集成开发

4.3 接入前准备

⚠️ 重要材料:
  • 营业执照照片(清晰可见)
  • 法人身份证正反面
  • 对公银行账户信息
  • 经营场所证明
  • ICP备案号
  • 网站业务说明文档

五、API接口说明

5.1 统一下单接口

接口地址: https://api.mch.weixin.qq.com/pay/unifiedorder

主要参数:

参数名 必填 说明
appid是微信分配的AppID
mch_id是商户号
out_trade_no是商户订单号
total_fee是订单金额(分)
spbill_create_ip是终端IP(H5必填)
notify_url是异步通知地址
trade_type是MWEB(H5支付固定值)
scene_info是H5场景信息

5.2 示例代码(Node.js)

const axios = require('axios');
const crypto = require('crypto');

// 构造统一下单参数
const params = {
    appid: 'wx1234567890abcdef',
    mch_id: '1234567890',
    nonce_str: crypto.randomBytes(16).toString('hex'),
    body: '智源论坛付费课程-Vue3实战',
    out_trade_no: `ORDER_${Date.now()}`,
    total_fee: 9900,  // 99元 = 9900分
    spbill_create_ip: '192.168.1.1',
    notify_url: 'https://www.zhiyuanluntan.com/api/pay/notify',
    trade_type: 'MWEB',
    scene_info: JSON.stringify({
        h5_info: {
            type: 'Wap',
            wap_url: 'https://www.zhiyuanluntan.com',
            wap_name: '智源论坛'
        }
    })
};

// 生成签名
function sign(params, key) {
    const sortedKeys = Object.keys(params).sort();
    const stringA = sortedKeys
        .filter(k => params[k])
        .map(k => `${k}=${params[k]}`)
        .join('&');
    const stringSignTemp = `${stringA}&key=${key}`;
    return crypto.createHash('md5')
        .update(stringSignTemp)
        .digest('hex')
        .toUpperCase();
}

params.sign = sign(params, 'YOUR_API_KEY');

// 调用统一下单接口
async function createOrder() {
    const xml = objectToXml(params);
    const response = await axios.post(
        'https://api.mch.weixin.qq.com/pay/unifiedorder',
        xml
    );
    // 解析返回的XML,提取mweb_url
    // 跳转用户到 mweb_url 完成支付
}

六、安全说明

6.1 签名验证

  • 所有API请求都必须进行MD5或HMAC-SHA256签名
  • API密钥必须妥善保管,定期更换
  • 验证微信回调通知的签名

6.2 风险控制

  • 设置单笔交易限额
  • 实施交易监控和异常检测
  • 记录完整的交易日志
  • 使用HTTPS加密传输

6.3 资金安全

✓ 资金保障:用户支付资金直接进入微信支付商户账户,由微信支付托管。智源论坛平台仅在订单完成后才标记为已结算资金。

七、常见问题

Q1:H5支付与JSAPI支付的区别?

A:H5支付可在手机浏览器(包括微信外部浏览器)中调用微信支付;JSAPI支付只能在微信内部浏览器中调用。

Q2:费率是多少?

A:微信支付官方费率为0.6%,具体费率以商户平台签约时为准。

Q3:结算周期?

A:默认T+1结算(次日到账),可申请T+0实时到账。

Q4:申请被拒怎么办?

A:常见拒因:网站未备案、网站内容不规范、资料不全等。请根据拒因整改后重新申请。

📞 技术支持:如需支付集成技术支持,请联系微信支付官方客服 400-xxx-xxxx,或访问 微信支付开发文档。