Skip to content

💰 微信公众号支付配置指南

本文档详细介绍如何在 商城系统中配置微信公众号支付功能


📋 目录


💡 前提条件

在配置微信公众号支付前,请确保已满足以下条件:

必需条件

要求说明获取方式
微信服务号已认证的服务号微信公众平台申请
微信支付商户号已开通微信支付微信支付商户平台申请
商城系统已部署运行按照部署文档安装
HTTPS 域名已备案的域名云服务商购买
企业认证营业执照等资料企业提供

说白了: 个人公众号(订阅号)无法开通支付功能,必须是企业认证的服务号!

账号要求

微信服务号:

  • ✅ 已完成企业认证
  • ✅ 认证类型为"服务号"
  • ✅ 有管理员权限

微信支付商户号:

  • ✅ 已审核通过
  • ✅ 账户状态正常
  • ✅ 已签约产品服务

🏦 开通微信支付

步骤 1:申请微信支付商户号

申请入口: 微信公众平台 → 微信支付 → 开通

所需资料:

资料类型说明示例
营业执照企业营业执照扫描件JPG/PNG,小于2MB
法人身份证法人身份证正反面清晰可见
银行账户对公账户或法人银行卡用于结算
门店照片经营场所照片3-5张
联系方式联系人姓名、电话、邮箱用于接收通知

审核周期:

  • 正常情况:1-5 个工作日
  • 补充资料:可能延长 3-7 天

步骤 2:签约产品服务

必需签约的产品:

产品名称用途费率
JSAPI 支付公众号内支付0.6%
Native 支付扫码支付(可选)0.6%
H5 支付H5 页面支付(可选)0.6%

签约步骤:

  1. 登录微信支付商户平台
  2. 产品中心 → 我的产品
  3. 找到对应产品 → 开通
  4. 阅读协议 → 签约

步骤 3:设置支付目录

为什么需要设置支付目录?

微信支付为了安全,只允许在指定的目录下发起支付请求。
如果支付目录设置不正确,会提示"支付目录未配置"错误。

配置路径: 微信支付商户平台 → 产品中心 → 开发配置 → 支付配置 → 添加

支付目录格式:

https://your-domain.com/

⚠️ 注意事项:

  • 必须以 https:// 开头
  • 必须以 / 结尾
  • 最多可配置 5 个支付目录
  • 建议直接配置域名根目录

示例配置:

正确:https://mall.example.com/
正确:https://www.example.com/wechat/
错误:http://mall.example.com/      # 不是 HTTPS
错误:https://mall.example.com       # 缺少结尾的 /

🔑 获取配置信息

信息清单

配置微信公众号支付需要以下信息:

参数名称说明获取位置
AppID公众号应用ID微信公众平台 → 开发 → 基本配置
AppSecret公众号应用密钥微信公众平台 → 开发 → 基本配置
商户号微信支付商户号微信支付商户平台 → 账户中心
商户密钥支付密钥(API密钥)微信支付商户平台 → 账户中心 → API安全
证书文件apiclient_cert.pem微信支付商户平台 → 账户中心 → API安全
证书密钥apiclient_key.pem微信支付商户平台 → 账户中心 → API安全

步骤 1:获取公众号 AppID 和 AppSecret

操作路径: 微信公众平台 → 开发 → 基本配置

AppID:

  • 直接显示,可以复制

AppSecret:

  1. 点击"重置"按钮
  2. 管理员扫码确认
  3. 生成新的 AppSecret(立即复制保存)

⚠️ 安全提示:

AppSecret 仅在生成时显示一次,务必妥善保管!
建议保存到密码管理器中。

步骤 2:获取商户号

操作路径: 微信支付商户平台 → 账户中心 → 商户信息

商户号格式:

示例:1234567890
说明:10位数字

步骤 3:设置商户密钥(API密钥)

操作路径: 微信支付商户平台 → 账户中心 → API安全 → 设置API密钥

密钥要求:

  • 长度:32位
  • 字符:大小写字母 + 数字
  • 随机性:建议使用工具生成

生成密钥工具(在线):

bash
# Linux/Mac 命令行生成
openssl rand -hex 16

# 或使用在线工具
https://suijimimashengcheng.bmcx.com/

设置步骤:

  1. 点击"设置密钥"
  2. 输入32位密钥
  3. 管理员扫码确认
  4. 完成设置

⚠️ 重要: 设置后请妥善保管,后续无法查看!

步骤 4:下载 API 证书

操作路径: 微信支付商户平台 → 账户中心 → API安全 → 申请API证书

证书类型:

类型文件名用途
证书文件apiclient_cert.pem请求时使用
证书密钥apiclient_key.pem请求时使用
证书根证书rootca.pem可选

下载步骤:

  1. 点击"申请证书"
  2. 下载证书工具
  3. 运行工具,生成证书请求串
  4. 提交证书请求串
  5. 管理员扫码确认
  6. 下载证书压缩包

证书存放位置:

本系统系统目录/cert/
├── apiclient_cert.pem
└── apiclient_key.pem

⚙️ 配置公众号支付

步骤 1:登录 系统管理后台

访问地址:

https://your-domain.com/admin

登录账号: 平台管理员账号

步骤 2:进入支付配置页面

菜单路径:

设置 → 系统设置 → 平台配置 → 支付/充值 → 公众号支付配置

步骤 3:填写配置信息

配置参数:

配置项填写内容示例
公众号AppID微信公众号AppIDwxabcdef123456
公众号AppSecret微信公众号AppSecretabc123def456...
微信支付商户号微信支付商户号1234567890
微信支付密钥商户API密钥(32位)abc123...(32位)
证书文件路径apiclient_cert.pem 路径/cert/apiclient_cert.pem
密钥文件路径apiclient_key.pem 路径/cert/apiclient_key.pem
支付回调地址系统自动生成通常无需修改

配置示例(截图说明):

┌─────────────────────────────────────────────┐
│ 公众号支付配置                              │
├─────────────────────────────────────────────┤
│ 公众号AppID:      [wxabcdef123456        ] │
│ 公众号AppSecret:  [abc123def456...       ] │
│ 微信支付商户号:   [1234567890           ] │
│ 微信支付密钥:     [32位密钥...          ] │
│ 证书文件路径:     [/cert/apiclient_cert.pem] │
│ 密钥文件路径:     [/cert/apiclient_key.pem ] │
│ 支付回调地址:     [https://...          ] │
│                                             │
│               [提交保存]                    │
└─────────────────────────────────────────────┘

步骤 4:提交保存

  1. 检查所有信息是否填写正确
  2. 点击"提交保存"按钮
  3. 等待系统验证配置
  4. 看到"保存成功"提示

✅ 配置完成!


💳 配置充值功能

为什么要配置充值功能?

充值功能用途:

  • 用户可以给账户充值余额
  • 使用余额支付订单
  • 充值可设置赠送金额

⚠️ 重要提示:

如果您的系统未上线或正在审核期间,
请务必关闭充值功能,避免违规被封号!

步骤 1:进入充值配置

菜单路径:

设置 → 系统设置 → 平台配置 → 支付/充值 → 充值配置

步骤 2:配置充值参数

配置项说明:

配置项说明推荐值
公众号充值开关是否允许公众号充值关闭(审核期)
最低充值金额单次最低充值额度¥1
充值金额选项快捷充值金额¥10, ¥50, ¥100, ¥500
赠送设置充值赠送规则可选
充值说明充值页面显示的说明自定义

赠送设置示例:

充值金额赠送金额实际到账
¥100¥0¥100
¥500¥50¥550
¥1000¥150¥1150
¥5000¥1000¥6000

步骤 3:审核期间的设置

⚠️ 在以下情况下,务必关闭充值功能:

  1. 系统刚上线 - 正在微信审核
  2. 功能变更 - 提交审核期间
  3. 测试阶段 - 内部测试阶段

关闭方法:

充值配置 → 公众号充值开关 → 选择"关闭" → 提交

为什么要关闭?

微信审核时如果发现充值功能,
可能会要求提供支付许可、金融牌照等资质。
待审核通过后再开启充值功能更安全。

步骤 4:审核通过后开启

开启时机:

  • ✅ 公众号所有功能审核通过
  • ✅ 系统已稳定运行

开启方法:

充值配置 → 公众号充值开关 → 选择"开启" → 提交

✅ 测试验证

测试前准备

测试账号:

  • 关注你的微信服务号
  • 准备 1 元测试金额

测试环境:

  • 确保在配置的支付目录下
  • 使用微信内置浏览器访问

测试步骤

测试 1:商品下单支付

  1. 打开商城

    • 在微信中打开商城首页
    • 浏览商品列表
  2. 选择商品下单

    • 选择一个测试商品
    • 点击"立即购买"
    • 填写收货地址
  3. 提交订单

    • 确认订单信息
    • 点击"提交订单"
    • 进入支付页面
  4. 完成支付

    • 点击"微信支付"
    • 输入支付密码
    • 完成支付
  5. 验证结果

    • 查看订单状态是否为"已支付"
    • 检查后台是否收到支付回调
    • 查看商户平台是否有交易记录

测试 2:余额充值(如已开启)

  1. 进入充值页面

    • 个人中心 → 我的钱包 → 充值
  2. 选择充值金额

    • 选择或输入充值金额
    • 点击"立即充值"
  3. 完成支付

    • 调起微信支付
    • 完成支付
  4. 验证余额

    • 返回钱包页面
    • 检查余额是否增加
    • 查看充值记录

成功标志

支付流程正常:

  • ✅ 能正常调起微信支付
  • ✅ 支付成功后订单状态更新
  • ✅ 商户平台显示交易记录
  • ✅ 用户收到支付成功通知

如果失败:

  • ❌ 提示"支付目录未配置" → 检查支付目录设置
  • ❌ 提示"签名错误" → 检查商户密钥配置
  • ❌ 提示"证书错误" → 检查证书文件路径
  • ❌ 支付成功但订单未更新 → 检查支付回调地址

❓ 常见问题

Q1:提示"当前页面的URL未注册"?

原因: 支付目录未配置或配置错误

解决方案:

1. 登录微信支付商户平台
2. 产品中心 → 开发配置 → 支付配置
3. 添加或修改支付目录
4. 格式:https://your-domain.com/
5. 必须以 / 结尾,使用 HTTPS

Q2:提示"签名错误"?

原因: 商户密钥配置错误

解决方案:

1. 检查商户密钥是否为32位
2. 确认是否有多余的空格或换行
3. 重新设置商户密钥并更新配置
4. 清除系统缓存重试

Q3:支付成功但订单未更新?

原因: 支付回调未成功

排查步骤:

1. 检查服务器日志
2. 确认回调地址能正常访问
3. 检查防火墙是否拦截微信IP
4. 验证回调处理代码是否正常

防火墙白名单(微信支付IP段):

101.226.103.0/24
101.226.233.0/24

Q4:证书错误怎么办?

可能原因:

  1. 证书文件路径错误
  2. 证书文件权限不足
  3. 证书文件格式错误

解决方案:

bash
# 1. 检查文件是否存在
ls -la /path/to/cert/

# 2. 检查文件权限(需要可读)
chmod 644 apiclient_cert.pem
chmod 644 apiclient_key.pem

# 3. 验证证书格式
openssl x509 -in apiclient_cert.pem -text -noout

Q5:能否使用测试号测试支付?

答案: 不能

说明:

微信支付必须使用已认证的服务号。
测试号无法开通微信支付功能。
只能使用真实账号,进行小额测试(如1元)。

Q6:支付费率是多少?

官方费率:

支付方式费率说明
JSAPI支付0.6%公众号内支付
Native支付0.6%扫码支付
H5支付0.6%手机浏览器支付
小程序支付0.6%小程序内支付

结算周期:

  • T+1:次日到账
  • T+7:7日后到账

手续费计算:

用户支付:¥100
手续费:¥100 × 0.6% = ¥0.6
实际到账:¥100 - ¥0.6 = ¥99.4

🎯 最佳实践

1. 安全建议

密钥管理:

  • ✅ 定期更换商户密钥(建议3-6个月)
  • ✅ AppSecret 不提交到代码仓库
  • ✅ 使用环境变量存储敏感信息
  • ✅ 限制后台管理员权限

支付安全:

  • ✅ 启用 HTTPS(必须)
  • ✅ 验证支付回调签名
  • ✅ 记录所有支付日志
  • ✅ 设置支付金额上限

证书安全:

  • ✅ 证书文件权限设为 644
  • ✅ 定期备份证书文件
  • ✅ 证书到期前及时更新

2. 业务配置建议

充值功能:

审核期:    关闭充值功能
测试期:    开启充值,限制最大金额
正式运营:  正常开启,设置合理赠送

金额设置:

  • 最低充值:¥1-¥10(防止大量小额测试)
  • 最高充值:¥5000-¥10000(根据业务)
  • 赠送比例:5%-20%(根据运营策略)

3. 运营建议

新系统上线:

  1. 先以"展示"模式运营 1-2 周
  2. 待微信审核通过后开启支付
  3. 开启支付初期小范围测试
  4. 确认稳定后全面推广

支付异常处理:

  • 建立支付监控机制
  • 设置异常告警(失败率 > 5%)
  • 准备应急预案

对账管理:

  • 每日对账(系统订单 vs 微信账单)
  • 每月核对总额
  • 保存所有交易记录
  • 定期导出账单备份

4. 性能优化

支付性能:

  • 使用异步回调处理订单
  • 支付回调接口优化响应速度
  • 设置合理的超时时间

并发处理:

低并发(< 100单/小时):  默认配置即可
中并发(100-1000单/小时):启用队列处理
高并发(> 1000单/小时):  分布式队列 + 缓存

📊 总结

配置流程回顾

开通微信支付 → 获取配置信息 → 上传证书文件 →
配置系统参数 → 设置支付目录 → 配置充值功能 →
测试验证 → 正式上线

关键要点

要点说明
服务号必须是已认证的企业服务号
证书上传并配置正确的证书路径
密钥32位商户密钥,妥善保管
支付目录HTTPS,以 / 结尾
充值开关审核期必须关闭
测试验证配置后务必测试

检查清单

上线前检查:

  • [ ] 公众号已认证
  • [ ] 微信支付已开通并签约
  • [ ] 配置信息填写正确
  • [ ] 证书文件已上传
  • [ ] 支付目录已配置
  • [ ] 充值功能状态正确
  • [ ] 已完成支付测试

🔗 相关文档


📚 参考资源

官方文档: