渠道配置
配置概述
渠道配置用于管理各个支付渠道的具体参数,包括商户号、API 密钥、证书等。配置好渠道后,在"支付配置"中选择对应的渠道即可使用。
主要渠道:
- 微信公众号支付 (wechat_official)
- 支付宝官方 (alipay_official)
- 易支付 (epay) - 第三方聚合支付
- PayPal 官方 (paypal_official)
- Stripe 官方 (stripe_official)
配置说明
微信公众号支付 (wechat_official)
基础配置
- 商户号:微信支付分配的商户号
- API 密钥:微信支付平台设置的 API 密钥
- API 证书序列号:商户证书的序列号
- API 证书 v2:上传商户证书文件(.p12 格式)
- API 证书 v3 密钥:上传 API v3 密钥文件(.pem 格式)
- 应用 ID:微信公众号或开放平台的应用 ID
- 应用密钥:应用密钥 (AppSecret)
配置流程
- 注册微信支付商户账号
- 获取商户号和 API 密钥
- 下载并安装商户证书
- 创建应用并获取 AppID 和 AppSecret
- 在系统中填写各项参数并上传证书
通知地址
- 支付通知地址:
https://您的域名/api/pay/notify/wechat - 退款通知地址:
https://您的域名/api/pay/notify/wechat/refund
支付宝官方 (alipay_official)
基础配置
- 应用 ID:支付宝开放平台创建的应用 APP_ID
- 应用私钥:应用私钥文件内容
- 支付宝公钥:支付宝公钥文件内容
- 签名方式:RSA2
配置流程
- 注册支付宝开放平台账号
- 创建应用并获取 APP_ID
- 生成应用密钥对(应用私钥和公钥)
- 上传应用公钥到支付宝平台
- 下载支付宝公钥
- 在系统中填写各项参数
通知地址
- 支付通知地址:
https://您的域名/api/pay/notify/alipay - 退款通知地址:
https://您的域名/api/pay/notify/alipay/refund
易支付 (epay)
易支付是第三方聚合支付平台,支持个人使用,免搭建,支持微信和支付宝。
推荐平台
嘟噜支付:
- 注册地址:https://www.dulupay.com/?invite=99AI
- 优势:支持个人,免搭建,注册即可使用
- 费率:相对较低
易支付官方:
- 购买地址:https://pay.cccyun.cc/admin/login.php
- 需要自行搭建服务器
基础配置
- 商户 ID:易支付平台分配的商户 ID
- 商户密钥:易支付平台的商户密钥
- API 地址:易支付系统的 API 地址
版本说明
V1 版本:
- 支付接口:
https://api.dulupay.com/mapi.php - 查询接口:
https://api.dulupay.com/api.php
V2 版本:
- 支付接口:
https://api.dulupay.com/api/pay/create - 查询接口:
https://api.dulupay.com/api/pay/query
通知地址
- 支付通知地址:
https://您的域名/api/pay/notify/epay - 返回地址:
https://您的域名
PayPal 官方 (paypal_official)
基础配置
- 客户端 ID:PayPal 应用客户端 ID
- 客户端密钥:PayPal 应用客户端密钥
- Webhook ID:PayPal Webhook 验证 ID
配置流程
- 注册 PayPal 开发者账号
- 创建应用并获取客户端凭证
- 设置 Webhook 监听事件
- 在系统中填写各项参数
通知地址
- 支付通知地址:
https://您的域名/api/pay/notify/paypal
Stripe 官方 (stripe_official)
基础配置
- 可发布密钥:Stripe 可发布密钥 (pk_ 开头)
- 密钥:Stripe 密钥 (sk_ 开头)
- Webhook 密钥:Stripe Webhook 签名密钥
配置流程
- 注册 Stripe 账号
- 获取 API 密钥
- 设置 Webhook 端点
- 在系统中填写各项参数
通知地址
- 支付通知地址:
https://您的域名/api/pay/notify/stripe
通用配置
通知地址说明
支付通知地址(Notify URL):
- 用途:支付平台异步通知支付结果
- 格式:
https://您的域名/api/pay/notify/{渠道标识} - 要求:
- 必须是 HTTPS 地址(生产环境)
- 必须公网可访问
- 建议使用域名备案的服务器
返回地址(Return URL):
- 用途:支付完成后用户浏览器跳转的地址
- 格式:
https://您的域名 - 设置:在发起支付时动态传入
安全配置
证书和密钥管理
- 定期更换:定期更换 API 密钥和证书
- 权限控制:限制密钥的访问权限
- 安全存储:使用环境变量存储敏感信息
- 备份管理:备份密钥和证书,避免丢失
回调验证
- 验证签名:验证支付回调的签名真实性
- 检查金额:核对订单金额是否一致
- 防重处理:防止重复处理同一回调
- 日志记录:记录所有回调信息便于排查
测试配置
沙箱环境
在正式使用前,建议先在测试环境验证配置:
微信支付:
- 使用微信支付沙箱环境
- 申请测试商户号和测试账号
支付宝:
- 使用支付宝沙箱环境
- 申请测试应用和测试账号
PayPal:
- 使用 PayPal Sandbox 模式
- 注册测试账号进行测试
Stripe:
- 使用测试模式密钥
- 使用测试卡号进行支付
测试流程
- 配置测试环境的渠道参数
- 创建小额测试订单
- 完成支付流程
- 验证回调处理和订单状态
- 确认无误后切换到生产环境
配置建议
渠道选择
企业用户:
- 优先使用官方渠道(微信支付、支付宝)
- 费率较低,稳定性好
- 需要企业资质申请
个人用户:
- 使用第三方聚合支付(易支付、嘟噜支付)
- 申请简单,支持个人
- 费率相对较高
国际业务:
- 使用 PayPal 或 Stripe
- 支持国际信用卡
- 覆盖海外用户
多渠道配置
建议配置多个渠道作为备用:
- 主渠道:选择稳定、费率低的渠道
- 备用渠道:配置 1-2 个备用渠道
- 自动切换:主渠道故障时自动切换
常见问题排查
支付失败:
- 检查渠道参数是否正确
- 确认商户账号状态正常
- 查看服务器日志获取详细错误
- 检查通知地址是否可访问
回调未收到:
- 检查通知地址是否正确
- 确认服务器防火墙允许支付平台访问
- 查看支付平台的回调记录
- 检查网络连接是否正常
证书错误:
- 确认证书文件格式正确
- 检查证书是否过期
- 验证证书和商户号匹配
- 重新下载并上传证书
常见问题
Q:渠道配置和支付配置有什么区别?
A:
- 渠道配置:配置每个支付渠道的具体参数(商户号、密钥等)
- 支付配置:选择哪些支付方式可用,以及使用哪个渠道
- 配置流程:先配置渠道参数,再在支付配置中选择对应渠道
Q:如何获取微信支付的商户号?
A:
- 注册微信支付商户账号(需要企业资质)
- 登录微信商户平台
- 在账户中心可以查看商户号
- 在账户设置中设置 API 密钥
- 在 API 安全中下载商户证书
Q:第三方聚合支付安全吗?
A:
- 选择知名、正规的聚合支付平台
- 查看平台的资质和用户评价
- 了解平台的费率和结算周期
- 建议小额度测试,确认正常后再大额使用
Q:通知地址必须是 HTTPS 吗?
A:
- 生产环境:是的,必须使用 HTTPS
- 测试环境:可以使用 HTTP
- 域名必须备案(国内服务器)
- 必须公网可访问,不能是内网地址
Q:如何验证回调的真实性?
A:
- 验证签名:支付平台会对回调数据进行签名
- 检查签名:使用商户密钥验证签名是否匹配
- 核对订单:检查订单金额、订单号是否一致
- 记录日志:记录所有回调信息便于审计
Q:可以同时使用多个渠道吗?
A:可以。建议:
- 在渠道配置中配置多个渠道的参数
- 在支付配置中为每个支付方式选择主渠道和备用渠道
- 系统会按优先级尝试使用渠道
- 主渠道失败时自动切换到备用渠道
Q:渠道配置错误会导致什么问题?
A:
- 参数错误:支付失败、创建订单失败
- 密钥错误:签名验证失败、回调无法处理
- 证书错误:支付接口调用失败
- 地址错误:无法收到支付结果通知