支付配置指南
详细了解如何配置支付宝和微信支付
本文档详细说明如何从支付宝和微信支付平台获取必要的配置参数,并在 AnheyuPro 系统中进行配置。
支付宝支付配置
前置条件
在开始配置之前,您需要:
- 拥有支付宝企业账号
 - 完成企业实名认证
 - 已开通"当面付"产品(用于生成二维码支付)
 - 拥有已创建的应用(网页/移动应用)
 
获取配置参数
1. 登录支付宝开放平台
访问 支付宝开放平台,使用企业支付宝账号登录。
2. 创建或选择应用
创建新应用(如果还没有):
- 进入 控制台 → 网页&移动应用
 - 点击 创建应用
 - 选择应用类型(网页应用或移动应用)
 - 填写应用信息:
- 应用名称
 - 应用图标
 - 应用简介
 
 - 提交审核(审核通过后才能正式使用)
 
选择已有应用:
在控制台找到您要使用的应用,点击进入。
3. 获取应用 ID(app_id)
在应用详情页面,可以看到 APPID,这就是配置中需要的 app_id。
示例:20123190123723784. 配置应用密钥
4.1 生成密钥对
支付宝采用 RSA2(SHA256withRSA)非对称加密算法,需要生成公钥和私钥。
方式一:使用支付宝提供的密钥生成工具(推荐)
- 
下载 支付宝密钥生成工具
- Windows: 点击下载 Windows 版本
 - macOS: 点击下载 macOS 版本
 
 - 
运行工具:
- 选择密钥格式:PKCS1(非 JAVA 适用)
 - 选择密钥长度:2048
 - 点击 生成密钥
 
 - 
工具会生成两个文件:
应用私钥.txt- 这就是app_private_key应用公钥.txt- 需要上传到支付宝
 
方式二:使用 OpenSSL 命令行生成(技术人员)
# 生成私钥
openssl genrsa -out app_private_key.pem 2048
# 从私钥中提取公钥
openssl rsa -in app_private_key.pem -pubout -out app_public_key.pem
# 查看私钥(去掉头尾标识,得到纯密钥内容)
cat app_private_key.pem4.2 上传应用公钥到支付宝
- 在应用详情页面,找到 开发信息 → 接口加签方式
 - 点击 设置 或 修改
 - 选择 公钥 方式
 - 将 
应用公钥.txt的内容(不包含头尾的 BEGIN/END 行,只要中间的内容)粘贴到文本框 - 点击 保存设置
 
4.3 获取支付宝公钥(alipay_public_key)
上传应用公钥后,支付宝会生成对应的 支付宝公钥:
- 在 接口加签方式 设置页面
 - 点击 查看支付宝公钥
 - 复制显示的公钥内容(纯密钥,不含头尾)
 
示例格式:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...(很长一段字符)...QIDAQAB5. 开通产品功能
确保已开通 当面付 功能:
- 在应用详情页面,找到 产品绑定
 - 搜索并添加 当面付 产品
 - 签约并开通(可能需要审核)
 
6. 配置回调地址(可选)
系统会自动生成回调地址,但您也可以在支付宝后台配置备用:
- 在应用详情中找到 功能信息 → 授权回调地址
 - 添加您的域名回调地址:
https://your-domain.com/api/pro/payment/callback/alipay 
支付宝配置说明
将获取的参数填入系统的 支付宝配置 表单:
| 配置项 | 说明 | 示例 | 
|---|---|---|
| 应用 ID | 支付宝应用的 APPID | 2021001234567890 | 
| 应用私钥 | 应用私钥内容,可以是纯密钥或带 PEM 头尾的完整格式 | 支持两种格式见下方 | 
| 支付宝公钥 | 从支付宝平台获取的公钥内容 | 纯密钥或带 PEM 头尾 | 
应用私钥格式示例:
格式一(纯密钥内容,推荐):
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC...(省略)...
格式二(完整 PEM 格式):
-----BEGIN RSA PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC...
(多行)
...
-----END RSA PRIVATE KEY-----支付宝公钥格式示例:
格式一(纯密钥内容,推荐):
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...(省略)...
格式二(完整 PEM 格式):
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
(多行)
...
-----END PUBLIC KEY-----重要提示
- 应用私钥务必妥善保管,不要泄露给任何人 - 支付宝公钥要从支付宝平台复制,不是您自己生成的应用公钥 - 系统会自动处理密钥格式,两种格式都支持
 
微信支付配置
前置条件
在开始配置之前,您需要:
- 已注册微信支付商户号
 - 完成企业认证
 - 已开通 Native 支付 产品(扫码支付)
 - 拥有对应的微信公众号或小程序(可选)
 
获取配置参数
1. 登录微信支付商户平台
访问 微信支付商户平台,使用商户号登录。
2. 获取基本信息
2.1 获取商户号(mch_id)
登录后,在 账户中心 → 个人信息 或页面右上角可以看到:
商户号:1234567890这就是配置中的 mch_id。
2.2 获取应用 APPID(app_id)
微信支付需要关联一个应用(公众号、小程序或 APP):
- 进入 产品中心 → AppID 账号管理
 - 查看已关联的 APPID
 - 如果没有,需要先关联:
- 公众号 APPID:在 微信公众平台 的 开发 → 基本配置 中查看
 - 小程序 APPID:在小程序管理后台查看
 - APP:在开放平台申请
 
 
示例 APPID:wx1234567890abcdef3. 生成 API 密钥
3.1 设置 API v3 密钥(api_v3_key)
微信支付 API v3 使用 APIv3 密钥进行加解密:
- 登录商户平台
 - 进入 账户中心 → API 安全 → APIv3 密钥
 - 如果未设置,点击 设置密钥:
- 输入 32 位的密钥(可以是任意字符组合,建议随机生成)
 - 需要输入短信验证码确认
 
 - 记录下您设置的密钥
 
示例(32位字符串):
abcd1234efgh5678ijkl9012mnop3456注意
APIv3 密钥设置后不可查看,请务必妥善保管!如果遗失需要重新设置。
如何生成 32 位随机密钥:
# 方法一:使用 OpenSSL
openssl rand -hex 16
# 方法二:Python
python3 -c "import secrets; print(secrets.token_hex(16))"3.2 生成商户私钥和获取证书序列号
微信支付使用 API 证书进行身份验证:
步骤 1:申请 API 证书
- 在商户平台进入 账户中心 → API 安全 → API 证书
 - 如果没有证书,点击 申请证书
 - 下载并安装 微信支付商户平台证书工具
 - 运行工具,使用商户号和操作密码登录
 - 工具会生成证书文件并自动上传
 
步骤 2:下载证书文件
工具会生成以下文件(保存在本地目录):
apiclient_cert.p12- 证书文件apiclient_cert.pem- 证书公钥apiclient_key.pem- 商户私钥(重要)
其中 apiclient_key.pem 就是我们需要的 private_key_data。
步骤 3:查看商户证书序列号(mch_serial_no)
- 在商户平台 账户中心 → API 安全 → API 证书
 - 查看证书列表,找到 证书序列号
 
示例序列号:1234567890ABCDEF1234567890ABCDEF12345678或者使用命令行查看:
# 从证书文件中提取序列号(16进制格式,全大写)
openssl x509 -in apiclient_cert.pem -noout -serial | awk -F= '{print $2}'4. 提取商户私钥内容
打开 apiclient_key.pem 文件,完整复制其中的内容(包括头尾):
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDZ...
(多行内容)
...
-----END PRIVATE KEY-----5. 配置支付回调地址
- 进入 产品中心 → 开发配置
 - 找到 Native 支付回调链接 或 支付回调 URL
 - 设置回调地址:
https://your-domain.com/api/pro/payment/callback/wechat - 保存配置
 
6. 开通 Native 支付
- 进入 产品中心 → 我的产品
 - 确认 Native 支付 已开通
 - 如果没有,申请开通(一般企业商户默认开通)
 
微信支付配置说明
将获取的参数填入系统的 微信支付配置 表单:
| 配置项 | 说明 | 示例 | 来源 | 
|---|---|---|---|
| 应用 ID | 微信 APPID(公众号/小程序/APP) | wx1234567890abcdef | 微信公众平台/开放平台 | 
| 商户号 | 微信支付商户号 | 1234567890 | 商户平台-账户中心 | 
| 商户序列号 | API 证书序列号(40 位 16 进制) | 1A2B3C... | 商户平台-API 证书页面 | 
| API v3 密钥 | APIv3 密钥(32 位字符串) | abcd1234... | 商户平台自行设置 | 
| 商户私钥 | API 证书私钥(PEM 格式) | 完整的 PEM 文件内容 | 证书工具生成的文件 | 
商户私钥格式要求:
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDZ...
(完整的多行内容,不要修改任何字符)
...
-----END PRIVATE KEY-----重要提示
- 商户私钥必须保持完整的 PEM 格式,包括头部和尾部 - 证书序列号必须是 40 位 16 进制字符(可能包含大小写字母和数字) - API v3 密钥为 32 位,请妥善保管 - 所有密钥信息严禁泄露,系统会加密存储
 
系统配置
配置步骤
- 
登录 AnheyuPro 管理后台
- 访问:
https://your-domain.com/admin - 使用管理员账号登录
 
 - 访问:
 - 
进入支付配置页面
- 导航至:系统设置 → 支付配置
 
 - 
配置支付宝
- 填写 应用 ID、应用私钥、支付宝公钥
 - 点击 保存配置
 - 点击 测试连接 验证配置是否正确
 - 如果测试成功,启用右上角的开关
 
 - 
配置微信支付
- 填写 应用 ID、商户号、商户序列号
 - 填写 API v3 密钥、商户私钥
 - 点击 保存配置
 - 点击 测试连接 验证配置是否正确
 - 如果测试成功,启用右上角的开关
 
 - 
配置站点 URL(重要)
- 进入 系统设置 → 基础设置
 - 设置 站点 URL(例如:
https://your-domain.com) - 系统会根据站点 URL 自动生成支付回调地址
 
 
配置验证
配置完成后,请进行以下验证:
- 
查看配置状态
- 配置页面顶部的状态卡片显示 已配置 和 已启用
 
 - 
测试连接
- 点击每个支付方式的 测试连接 按钮
 - 确保显示 "连接成功"
 
 - 
创建测试订单
- 在前台创建一个小额订单(如 0.01 元)
 - 选择支付方式,扫码支付
 - 验证支付流程是否正常
 
 - 
检查回调
- 完成支付后,系统应自动更新订单状态
 - 如果订单状态未更新,检查:
- 支付平台的回调地址配置
 - 服务器防火墙是否允许外部访问
 - 系统日志中的错误信息
 
 
 
常见问题
支付宝相关
Q1: 提示"签名验证失败"
A: 检查以下几点:
- 应用私钥和上传到支付宝的应用公钥必须是配对的
 - 确认使用的是应用私钥,不是应用公钥
 - 确认填写的支付宝公钥是从支付宝平台获取的,不是自己生成的应用公钥
 - 密钥格式是否正确,可以尝试两种格式(带头尾/不带头尾)
 
Q2: 提示"应用未授权"或"ISV 权限不足"
A:
- 确认应用已通过审核上线
 - 确认已开通并签约"当面付"产品
 - 在应用详情中检查产品绑定状态
 
Q3: 密钥太长,无法完整复制
A:
- 使用文本编辑器打开密钥文件
 - 确保复制时没有多余的空格或换行
 - 可以将多行密钥连接成一行(系统会自动处理)
 
微信支付相关
Q1: 提示"证书序列号错误"
A:
- 使用命令或在商户平台确认证书序列号
 - 序列号应该是 40 位 16 进制字符
 - 确保没有多余的空格或特殊字符
 - 注意序列号的大小写
 
Q2: 提示"签名验证失败"
A:
- 确认商户私钥是完整的 PEM 格式
 - 检查私钥文件是否被修改过
 - 确认使用的是与证书序列号对应的私钥
 - API v3 密钥是否正确(32 位)
 
Q3: 回调地址无法访问
A:
- 确认服务器防火墙已开放 443 端口(HTTPS)
 - 微信支付回调只支持 HTTPS,不支持 HTTP
 - 测试回调地址是否可以从外网访问:
curl https://your-domain.com/api/pro/payment/callback/wechat - 检查 SSL 证书是否有效
 
Q4: API v3 密钥忘记了怎么办?
A:
- API v3 密钥无法查看,只能重新设置
 - 进入商户平台 → 账户中心 → API 安全 → APIv3 密钥
 - 点击"重新设置",输入新的 32 位密钥
 - 更新系统中的配置
 
通用问题
Q1: 支付成功但订单状态未更新
A:
- 检查支付平台的回调地址配置
 - 查看系统日志,确认是否收到回调请求
 - 确认站点 URL 配置正确
 - 测试回调地址的可访问性
 
Q2: 测试连接失败
A:
- 检查所有配置项是否完整填写
 - 确认密钥格式正确,无多余空格
 - 查看浏览器控制台和系统后台日志的详细错误信息
 - 确认网络连接正常,能访问支付平台 API
 
Q3: 如何切换测试环境和生产环境?
A:
- 支付宝:使用沙箱环境需要单独申请沙箱账号和密钥
 - 微信支付:没有独立的沙箱环境,建议创建小额测试订单
 - 建议在测试环境和生产环境使用不同的应用和配置
 
Q4: 配置保存后显示为"未配置"
A:
- 刷新页面重新查看
 - 检查浏览器控制台是否有错误
 - 确认保存操作是否成功(应显示"保存成功"提示)
 - 检查后台日志是否有错误信息
 
安全建议
密钥安全
- 
私钥保护
- 私钥文件务必妥善保管,不要提交到代码仓库
 - 不要通过不安全的渠道(如邮件、即时通讯)传输私钥
 - 定期更换密钥(建议每年更换一次)
 
 - 
访问控制
- 限制能够访问支付配置页面的管理员人数
 - 使用强密码保护管理员账号
 - 启用两步验证(如果系统支持)
 
 - 
环境隔离
- 生产环境和测试环境使用不同的应用和密钥
 - 不要在生产环境使用测试密钥
 
 - 
日志监控
- 定期检查支付相关日志
 - 监控异常支付行为
 - 设置告警机制
 
 
服务器安全
- 
HTTPS 必须
- 支付回调地址必须使用 HTTPS
 - 使用有效的 SSL 证书(不要使用自签名证书)
 - 定期更新证书
 
 - 
防火墙配置
- 只开放必要的端口(80, 443)
 - 配置适当的访问规则
 - 使用 CDN 和 DDoS 防护
 
 - 
数据加密
- 系统会自动加密存储支付配置
 - 建议设置环境变量 
ANHEYU_PAYMENT_ENCRYPT_KEY为自定义的 32 位密钥 - 数据库备份也应加密存储
 
 
技术支持
如果在配置过程中遇到问题,可以:
附录
支付宝密钥生成工具下载
- Windows: https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=win&channelType=WEB
 - macOS: https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=mac&channelType=WEB
 
微信支付证书工具下载
- 登录商户平台后,在 API 证书 页面有下载链接
 - 或访问:https://kf.qq.com/faq/180830E36vyQ180830AZFZvu.html
 
相关链接
提示
配置完成后,请务必进行小额测试,确保支付流程完整可用后再正式启用。
Last updated on