主题
在线支付
内置官方支付系统,支持微信支付 / 支付宝 / PayPal 三个渠道,各端体验统一:手机端 APP 拉起原生支付,TV 端扫码支付,网页端收银台确认。配合固定的 VIP 套餐定价,无需对接第三方发卡平台即可完成会员变现闭环。
VIP 套餐
后台「会员管理 → 套餐定价」管理套餐,档位固定为四档,不可增删:
| 套餐 | 时长 |
|---|---|
| 月卡 | 30 天 |
| 季卡 | 90 天 |
| 年卡 | 365 天 |
| 永久 | 永不过期 |
- 每档可设置现价与划线原价(人民币),支持上架 / 下架
- 套餐统一人民币定价,PayPal 渠道按「支付配置」中的汇率自动换算为美元价展示与结算
- 续费在现有到期时间上叠加;永久会员为最高状态,再次购买不会降级
支付配置
后台「会员管理 → 支付配置」,三渠道各自独立开关,可按需只接入其中一部分。
支付总开关
关闭后,各端"开通 VIP"入口不再显示在线支付渠道,只保留激活码兑换与外部购买链接(见降级与激活码)。
微信支付(V3)
需填写:应用 AppID、商户号、商户证书序列号、APIv3 密钥、商户私钥(apiclient_key.pem 内容直接粘贴)。
新版商户的「微信支付公钥」模式可自动探测:填写「微信支付公钥 ID + 微信支付公钥」后启用公钥验签;不填则自动拉取平台证书验签,无需手动上传。
支付宝
需填写:应用 ID、应用私钥、支付宝公钥。
PayPal
需填写:Client ID、Client Secret、Webhook ID。
在 PayPal Developer Dashboard 创建 REST App 后,同 App 下添加 Webhook 并订阅 PAYMENT.CAPTURE.COMPLETED 事件。另需配置「人民币兑美元汇率」(1 美元 = N 人民币),用于美元价换算。
回调地址
各渠道的支付回调地址由后端按站点访问地址自动拼接(/api/pay/notify/渠道),无需手动推导;配置页中会展示完整地址,复制到各渠道商户后台即可。
证书与密钥
所有私钥 / 证书均以文本方式直接粘贴到后台表单,无需上传文件。
各端支付体验
| 端 | 微信 / 支付宝 | PayPal |
|---|---|---|
| 手机端 APP | 拉起微信 / 支付宝完成支付 | 内置授权页登录 PayPal 确认 |
| TV 端 | 展示收款二维码,手机扫码支付 | 展示授权链接二维码,手机扫码确认 |
| 网页端 | 跳转 H5 收银台 | 跳转 PayPal 授权后自动返回订单页 |
- 支付完成后订单状态自动确认,会员立即生效并实时推送到客户端(无需重启 APP)
- 订单 30 分钟内未支付自动关闭;关闭前已完成支付的订单仍会正常补发会员
- 各端均有超时兜底查询,支付回调偶发丢失时也能对账补单
订单管理
后台「会员管理 → 订单管理」查看全部订单:
- 按订单号、用户 ID、渠道、状态筛选
- 详情包含商品、金额(¥ / $)、渠道流水号、来源端、设备 ID、客户端 IP、支付时间
- 状态:待支付 / 已支付 / 已关闭
关于退款
系统不支持后台发起退款。如确需退款,请到各支付渠道的商户后台操作(虚拟会员默认不支持退款)。
支付安全
以下保护自动生效,无需配置:
| 措施 | 说明 |
|---|---|
| 服务端定价 | 下单金额以服务端套餐价为准,客户端只选套餐,无法篡改金额 |
| 回调验签 | 三渠道回调逐一带官方证书 / 公钥验签,伪造回调无法发货 |
| 金额校验 | 回调金额与订单金额不一致时自动拒绝发货 |
| 幂等发货 | 重复回调、并发回调均只发货一次(数据库行级锁保护) |
| 下单防护 | 下单 / 查询接口需登录态 + 设备签名,并有独立限流 |
降级与激活码
- 激活码兑换始终可用,不受支付开关影响——即使不接入在线支付,也可以只用激活码售卖会员。激活码生成与管理见用户与会员。
- 支付关闭或渠道未配置时,各端"开通 VIP"入口降级显示外部购买链接,文案与链接在「会员管理 → 激活码管理」页配置。