主题
支付参数
扩展包
本页功能由商业扩展包提供(服务端 COMMERCE_PACK_ENABLED,管理端 VITE_COMMERCE_ENABLED)。关闭或删除该包后,本页菜单与接口一并消失。开关说明见 扩展包开关与裁剪。
用户端展示付款入口之后,能不能真正收款,取决于这里的渠道参数。微信、支付宝、易支付、PayPal 和 Stripe 的商户信息都在本页填写。
后台入口
- 菜单路径:支付财务 → 支付参数
- 后台地址:
/payment/channel
配置方式
页面按渠道分为多个标签:微信官方支付、支付宝官方支付、易支付、PayPal 官方、Stripe 官方。
字段采用自动保存:输入框失焦或下拉选择变更后会保存。看到“保存成功”提示,表示该字段已写入系统配置。
自动生成的回调地址
系统会根据 基础信息 中的网站地址自动生成支付通知、返回、成功、取消和 Webhook 地址。一般不需要在这里手动填写回调 URL。
配置支付前,请先确认:
- 网站地址使用正式域名,例如
https://agent.example.com - 域名可以被公网访问
- HTTPS 证书有效
- 反向代理已正确转发
/api请求
微信官方支付
微信官方支付适合已经具备微信支付商户资质的运营场景。当前系统会根据访问环境选择支付方式:微信内打开时使用 JSAPI 支付,普通浏览器或 PC 场景使用 Native 扫码支付。
微信字段总览
新版微信支付商户后台里,证书和公钥入口可能按“解密回调”“API 证书”“微信支付公钥”等分组展示。后台不需要你手动填写回调地址,但需要准确填写商户号、AppId、APIv3 密钥、商户 API 私钥,以及当前验签模式对应的平台证书或微信支付公钥。
| 后台配置项 | 用途 | 从哪里找 | 填写说明 |
|---|---|---|---|
| 商户号 | 标识收款商户,创建微信支付订单时使用 | 微信支付商户平台 → 账户中心 → 商户信息 | 填写商户号数字,不是登录账号、主体名称或服务商号 |
| AppId | 标识公众号或小程序,微信内 JSAPI 支付需要用它获取用户身份 | 公众号后台 → 设置与开发 → 基本配置 → 开发者 ID;小程序后台 → 开发管理 → 开发设置 → AppID | 必须和当前商户号完成绑定,否则下单会失败 |
| APIv3 密钥 | 解密微信支付回调报文和平台证书 | 微信支付商户平台 → 账户中心 → API安全 → APIv3密钥;部分账号会显示为 账户中心 → 账户设置 → API安全 → APIv3密钥 | 填写你设置的 32 位密钥。设置成功后通常不能查看,只能重新设置 |
| 回调验签模式 | 决定系统用哪类微信支付公钥材料校验回调签名 | 后台选择,不从微信后台复制 | 新商户优先选择“微信支付公钥模式”;正在切换的商户可临时选择“切换期自动兼容”;存量已使用平台证书的商户可继续选择“平台证书模式” |
| 平台证书/平台公钥 | 平台证书模式或切换期自动兼容下校验微信支付回调签名 | 平台证书:通过微信支付平台证书下载工具获取;平台公钥:微信支付商户平台 → 账户中心 → API安全 → 微信支付公钥 | 在“平台证书模式”或“切换期自动兼容”下填写。完整复制 BEGIN CERTIFICATE 或 BEGIN PUBLIC KEY 到结尾 |
| 平台证书序列号 | 平台证书模式或切换期自动兼容下匹配回调头里的 Wechatpay-Serial | 下载平台证书接口返回的 serial_no,或平台证书详情;填写平台公钥时看公钥对应的 ID/序列号 | 填完整平台证书时可留空,系统会从证书内容解析;填平台公钥时必须填写 |
| 微信支付公钥 ID | 微信支付公钥模式或切换期自动兼容下匹配微信回调签名头 | 微信支付商户平台 → 账户中心 → API安全 → 微信支付公钥,下载公钥后查看公钥 ID | 在“微信支付公钥模式”或“切换期自动兼容”下填写,通常形如公钥序列号 |
| 微信支付公钥 | 微信支付公钥模式或切换期自动兼容下校验微信支付回调签名 | 微信支付商户平台 → 账户中心 → API安全 → 微信支付公钥 → 下载公钥 | 在“微信支付公钥模式”或“切换期自动兼容”下填写,完整复制 BEGIN PUBLIC KEY 到结尾 |
| 私钥证书 | 商户调用微信支付 API 时生成请求签名 | 微信支付商户平台 → 账户中心 → API安全 → 商户 API 证书 → 申请/管理证书;本地证书工具生成或保存的 apiclient_key.pem | 后台字段名为“私钥证书”,实际填写商户 API 私钥完整内容,包含 BEGIN PRIVATE KEY 和 END PRIVATE KEY |
第一步:准备商户号和 AppId
- 登录 微信支付商户平台。
- 在“账户中心 → 商户信息”复制商户号。
- 准备公众号或小程序 AppId。
- 在商户平台进入“产品中心 → AppID 账号管理”或“产品中心 → APPID 授权管理”,把 AppId 关联到当前商户号。
- 关联申请发起后,到对应的微信公众平台或小程序后台确认授权。
- 如果需要微信内支付,确认 JSAPI 支付产品已开通;如果需要 PC 扫码,确认 Native 支付能力可用。
微信支付要求下单时传入的 AppId 和商户号存在绑定关系。没有绑定时,后台参数即使填写正确,也会在创建订单时失败。
第二步:配置 APIv3 密钥
在商户平台进入“账户中心 → API安全 → APIv3密钥”,设置一串 32 位的数字和大小写字母组合。如果你的商户后台仍保留旧分组,路径可能显示为“账户中心 → 账户设置 → API安全 → APIv3密钥”。
注意:
- 管理后台中的“APIv3 密钥”填写这里设置的密钥。
- 这不是微信登录 AppSecret。公众号 AppSecret 和微信开放平台网站应用 AppSecret 都用于登录配置,微信支付回调解密使用 APIv3 密钥。
- APIv3 密钥设置成功后通常不能再次查看,只能重新设置。
- 修改 APIv3 密钥会影响线上支付回调,生产环境修改前要先安排维护窗口。
第三步:选择回调验签模式
系统支持三种回调验签模式:
| 模式 | 适合谁 | 需要填写 |
|---|---|---|
| 微信支付公钥模式 | 新申请商户号,或已经按微信支付指引切换到公钥模式的商户 | 微信支付公钥 ID、微信支付公钥、商户 API 私钥 |
| 平台证书模式 | 存量商户,已经下载并持续维护微信支付平台证书 | 平台证书/平台公钥、平台证书序列号、商户 API 私钥 |
| 切换期自动兼容 | 商户平台正在从平台证书切换到微信支付公钥,回调可能同时出现两种 Wechatpay-Serial 的商户 | 平台证书/平台公钥、平台证书序列号、微信支付公钥 ID、微信支付公钥、商户 API 私钥 |
新商户建议优先使用微信支付公钥模式。微信支付官方文档也说明,平台证书有效期需要维护,公钥模式更适合作为新的验签方式。 切换期自动兼容只建议在迁移期间临时使用。迁移完成后,请切回“微信支付公钥模式”,减少长期配置项和排障复杂度。
第四步:准备证书、公钥和私钥
无论选择哪种验签模式,都需要填写商户 API 私钥。这个私钥来自商户 API 证书申请过程中的 apiclient_key.pem,不是平台证书,也不是公众号 AppSecret。
选择微信支付公钥模式
- 登录微信支付商户平台。
- 进入“账户中心 → API安全 → 微信支付公钥”。
- 按页面指引申请或下载微信支付公钥。
- 将公钥 ID 填入“微信支付公钥 ID”。
- 将公钥文件完整内容填入“微信支付公钥”。
- 将
apiclient_key.pem完整内容填入“私钥证书”。
选择平台证书模式
- 使用微信支付平台证书下载工具,或按商户平台指引获取平台证书。
- 将平台证书完整内容填入“平台证书/平台公钥”。
- 如果填写的是完整平台证书,可以不填“平台证书序列号”,系统会自动解析。
- 如果填写的是平台公钥内容,必须同步填写平台证书序列号或对应的
Wechatpay-Serial。 - 将
apiclient_key.pem完整内容填入“私钥证书”。
选择切换期自动兼容
- 先按“平台证书模式”填写平台证书/平台公钥信息。
- 再按“微信支付公钥模式”填写微信支付公钥 ID 和微信支付公钥。
- 系统收到回调后,会根据请求头
Wechatpay-Serial自动选择匹配的平台证书或微信支付公钥验签。 - 如果
Wechatpay-Serial无法匹配已配置的任意一套材料,系统会拒绝回调。 - 商户平台切换完成后,建议改回“微信支付公钥模式”。
不要只复制中间一段内容,也不要通过富文本编辑器中转。公钥、证书或私钥内容被自动换行、替换空格或丢失首尾标记,都会导致下单或回调验签失败。
第五步:确认回调地址
系统会根据 基础信息 中的网站地址自动生成微信支付回调地址:
text
https://你的域名/api/pay/notify?provider=wechat微信支付下单时会把这个地址作为 notify_url 传给微信。用户支付成功后,微信支付会通过 POST 请求通知这个地址。
配置前请确认:
- 网站地址是正式域名,不是
localhost或内网 IP。 - HTTPS 证书有效。
- 反向代理已把
/api/pay/notify转发到后端服务。 - 服务器防火墙没有拦截微信支付回调请求。
- 所选验签模式对应的证书/公钥、公钥 ID 或序列号、APIv3 密钥配置正确,否则系统会拒绝回调并不会发放权益。
第六步:保存并测试
- 在支付参数页填写商户号、AppId、APIv3 密钥、回调验签模式、对应的证书或公钥信息和私钥证书。
- 保存后确认微信官方支付标签显示“已配置”。
- 到 支付配置 开启微信支付,并选择微信官方渠道。
- 创建一个低价测试套餐。
- 使用“完整支付测试”发起真实订单。
- 支付完成后,到 订单管理 确认订单状态和到账权益。
微信常见问题
APIv3 密钥和 AppSecret 是一回事吗?
不是。微信登录可能使用公众号 AppSecret 或微信开放平台网站应用 AppSecret;微信支付这里填写 APIv3 密钥,用于平台证书和回调报文解密。
应该选择平台证书模式还是微信支付公钥模式?
新商户优先选择微信支付公钥模式。已经在线上稳定使用平台证书的存量商户,可以继续使用平台证书模式;切换模式前要先准备好对应的公钥 ID、证书或序列号,并完成测试。
支付二维码生成失败?
检查商户号、AppId 是否绑定,商户号是否开通对应支付产品,商户 API 私钥是否完整,当前验签模式所需的公钥或证书是否已填写。
用户已付款但订单没有到账?
优先检查 /api/pay/notify?provider=wechat 是否能被公网 POST 访问,再检查 APIv3 密钥、回调验签模式、证书/公钥和序列号/公钥 ID 是否正确。
JSAPI 支付失败?
确认用户是在微信内打开站点,并且当前用户有公众号 OpenID。微信登录配置异常时,JSAPI 支付可能拿不到 OpenID。
微信官方指引
- 微信支付商户文档
- APIv3 概述
- 开发必要参数说明
- mchid 与 appid 申请
- 管理商户号绑定的 APPID 账号
- 配置 APIv3 密钥
- 申请商户 API 证书
- 从平台证书切换成微信支付公钥
- 支付成功回调通知
支付宝官方支付
支付宝官方支付适合已经在支付宝开放平台创建应用的场景。系统会根据访问环境使用电脑网站支付或手机网站支付,支付成功后的权益发放以支付宝异步通知为准。
| 后台配置项 | 用途 | 从哪里找 | 填写说明 |
|---|---|---|---|
| 应用 AppId | 标识支付宝开放平台应用 | 支付宝开放平台 → 控制台 → 应用 → 应用详情 | 填写应用的 APPID,不是商户 PID |
| 应用私钥 | 系统请求支付宝接口时生成签名 | 使用支付宝开放平台开发助手或你自己的密钥工具生成 | 填写应用私钥完整内容。私钥只保存在你本地,不是从支付宝后台复制 |
| 支付宝公钥 | 系统验证支付宝异步通知签名 | 支付宝开放平台 → 控制台 → 应用 → 开发设置 → 接口加签方式 → 支付宝公钥 | 填“支付宝公钥”,不要填“应用公钥” |
| 启用后端轮询 | 异步通知异常时主动查询订单状态 | 后台选择 | 通知不稳定、测试环境或代理环境建议启用;生产环境也可以保留启用作为兜底 |
支付宝配置步骤
- 登录 支付宝开放平台。
- 在控制台创建或选择已上线的网页/移动应用。
- 在应用详情中复制应用 AppId。
- 在“开发设置 → 接口加签方式”配置 RSA2 公钥模式。
- 将本地生成的应用私钥填入 后台的“应用私钥”。
- 将支付宝开放平台生成的“支付宝公钥”填入 后台的“支付宝公钥”。
- 到 支付配置 开启支付宝,并选择支付宝官方渠道。
支付宝同步返回地址由系统自动生成到:
text
https://你的域名/api/pay/return?provider=alipay&status=success支付宝异步通知地址由系统自动生成到:
text
https://你的域名/api/pay/notify?provider=alipay同步返回地址只用于展示支付结果页;权益发放仍以支付宝异步通知或后端轮询确认结果为准。
官方入口:
易支付
易支付是第三方聚合支付渠道,可同时承载微信、支付宝或部分 PayPal 场景。不同服务商后台名称不完全一致,以下字段需要从你实际使用的易支付服务商后台复制。
| 后台配置项 | 用途 | 从哪里找 | 填写说明 |
|---|---|---|---|
| 支付接口地址 | 创建支付订单 | 易支付服务商后台 → 商户中心 → API 接口或开发配置 | 填完整创建支付接口地址,例如 https://pay.example.com/api/pay,不要只填域名 |
| 查询接口地址 | 主动查询订单状态 | 易支付服务商后台 → 商户中心 → API 接口或开发配置 | 填完整查询接口地址,例如 https://pay.example.com/api/query |
| 商户 ID | 标识服务商分配给你的商户 | 易支付服务商后台 → 商户资料或接口配置 | 常见名称为商户 ID、PID、商户编号 |
| API 版本 | 决定签名方式 | 后台选择,按服务商文档支持情况填写 | 服务商支持 V2 时优先选 V2;只支持 MD5 时选 V1 |
| 商户密钥 | V1 MD5 签名使用 | 易支付服务商后台 → API 密钥、通信密钥或商户密钥 | 仅 V1 必填 |
| 商户私钥 | V2 RSA 签名使用 | 易支付服务商后台或你本地生成的 RSA 私钥 | 仅 V2 必填,完整复制私钥内容 |
| 平台公钥 | V2 回调验签使用 | 易支付服务商后台 → 平台公钥、验签公钥或接口公钥 | 仅 V2 必填,完整复制公钥内容 |
| 启用后端轮询 | 异步通知异常时主动查询订单状态 | 后台选择 | 易支付服务商回调不稳定时建议启用 |
配置建议:
- 服务商提供 V2 时优先使用 V2,签名方式更稳妥。
- 支付接口地址和查询接口地址要复制完整,不要只填域名。
- 切换 API 版本后,要检查对应密钥字段是否已经补齐。
- 易支付没有统一官方后台,不同服务商字段名不同;如果找不到对应字段,请向服务商索要“创建支付接口、订单查询接口、商户 ID、签名密钥、公钥/私钥”的完整接入资料。
易支付同步返回地址由系统自动生成到 /api/pay/return?provider=epay&status=success,只用于展示支付结果页;权益发放仍以易支付异步通知或后端轮询确认结果为准。
PayPal 官方
PayPal 官方适合海外用户支付。系统使用美元创建 PayPal 订单,启用 PayPal 前,建议在 套餐设置 中填写美元价格。
| 后台配置项 | 用途 | 从哪里找 | 填写说明 |
|---|---|---|---|
| Client ID | 标识 PayPal REST 应用 | PayPal Developer → Dashboard → Apps & Credentials → 选择应用 | 沙盒和生产各有一套 Client ID,必须和环境模式匹配 |
| Client Secret | 服务端换取 PayPal Access Token | PayPal Developer → Dashboard → Apps & Credentials → 选择应用 → Secret | 只填写当前环境对应的 Secret,不要公开到前端或文档截图 |
| 环境模式 | 决定调用 PayPal 沙盒还是生产接口 | 后台选择 | 测试用 sandbox;正式收款用 live,同时换成 Live 应用凭据 |
| Webhook ID | 验证 PayPal 异步通知签名 | PayPal Developer → Dashboard → Apps & Credentials → 选择应用 → Webhooks → 创建 Webhook 后复制 Webhook ID | 当前后台将它作为必填项。创建 Webhook 时填写 系统自动生成的通知地址 |
PayPal 后台 Webhook 建议填写:
text
https://你的域名/api/pay/notify?provider=paypal建议订阅事件:
CHECKOUT.ORDER.APPROVEDPAYMENT.CAPTURE.COMPLETEDPAYMENT.CAPTURE.DENIED
用户支付后的成功和取消返回地址由系统自动生成到 /api/pay/return,一般不需要手动维护旧的 PayPal 专用返回地址。
官方入口:
Stripe 官方
Stripe 官方适合信用卡、借记卡等国际支付方式。系统使用 Stripe Checkout 创建美元订单,正式收款前,请确保 Stripe 账号已完成业务资料和结算信息审核。
| 后台配置项 | 用途 | 从哪里找 | 填写说明 |
|---|---|---|---|
| Secret Key | 服务端创建 Checkout Session、查询支付状态和退款 | Stripe Dashboard → Developers → API keys | 测试环境通常以 sk_test_ 开头,生产环境通常以 sk_live_ 开头 |
| Publishable Key | 标识前端可公开使用的 Stripe key | Stripe Dashboard → Developers → API keys | 测试环境通常以 pk_test_ 开头,生产环境通常以 pk_live_ 开头 |
| 环境模式 | 区分测试和生产配置 | 后台选择 | test 搭配测试 key;live 搭配生产 key |
| Webhook Secret | 验证 Stripe Webhook 签名 | Stripe Dashboard → Developers → Webhooks → 选择 Endpoint → Signing secret | 当前后台将它作为必填项。它通常以 whsec_ 开头,不是 API Key |
Stripe 后台 Webhook 建议填写:
text
https://你的域名/api/pay/notify?provider=stripe建议订阅事件:
checkout.session.completedpayment_intent.succeededpayment_intent.payment_failed
Stripe Checkout 的成功和取消返回地址由系统自动生成到 /api/pay/return,一般不需要手动维护旧的 Stripe 专用返回地址。
官方入口:
支付测试
支付参数页面提供“支付测试”入口,用于超级管理员发起一笔真实套餐购买,并等待第三方回调和权益到账。
测试前请确认: