Skip to content

在线支付 ​

内置官方支付系统,支持微信支付 / 支付宝 / PayPal 三个渠道:Android 移动端拉起原生支付,iOS 移动端应用内 PayPal 授权,TV 端扫码支付,网页端收银台确认。配合固定的 VIP 套餐定价,无需对接第三方发卡平台即可完成会员变现闭环。

iOS 端支付渠道

iOS 构建不包含微信 / 支付宝 SDK(App Store 支付类合规),无论渠道开关是否开启,iOS 购买页均不展示这两个渠道。iOS 用户通过 PayPal(应用内授权页)或激活码购买。

VIP 套餐 ​

后台「会员管理 → 套餐定价」管理套餐,档位固定为四档,不可增删:

套餐时长
月卡30 天
季卡90 天
年卡365 天
永久永不过期
  • 每档可设置现价与划线原价(人民币),支持上架 / 下架
  • 套餐统一人民币定价,PayPal 渠道按「支付配置」中的汇率自动换算为美元价展示与结算
  • 续费在现有到期时间上叠加;永久会员为最高状态,再次购买不会降级

支付配置 ​

后台「会员管理 → 支付配置」,三渠道各自独立开关,可按需只接入其中一部分。

支付总开关 ​

关闭后,各端"开通 VIP"入口不再显示在线支付渠道,只保留激活码兑换与外部购买链接(见降级与激活码)。

微信支付(V3) ​

需填写:应用 AppID、商户号、商户证书序列号、APIv3 密钥、商户私钥(apiclient_key.pem 内容直接粘贴)。

新版商户的「微信支付公钥」模式可自动探测:填写「微信支付公钥 ID + 微信支付公钥」后启用公钥验签;不填则自动拉取平台证书验签,无需手动上传。

生效范围:Android APP(应用内拉起)、TV 端(扫码)、网页端(H5 支付);iOS 端不适用(见文首说明)。

支付宝 ​

需填写:应用 ID、应用私钥、支付宝公钥。

生效范围同微信支付:Android APP、TV 端、网页端;iOS 端不适用。

PayPal ​

需填写:Client ID、Client Secret、Webhook ID。

在 PayPal Developer Dashboard 创建 REST App 后,同 App 下添加 Webhook 并订阅 PAYMENT.CAPTURE.COMPLETED 事件。另需配置「人民币兑美元汇率」(1 美元 = N 人民币),用于美元价换算。

PayPal 是 iOS 端唯一可用的在线支付渠道。

回调地址 ​

各渠道的支付回调地址路径固定为 /api/pay/notify/渠道,由后端按站点访问地址自动拼接,无需手动推导;配置页中展示该路径,完整地址即「站点地址 + 路径」,填写到各渠道商户后台即可。

证书与密钥

所有私钥 / 证书均以文本方式直接粘贴到后台表单,无需上传文件。

各端支付体验 ​

端微信 / 支付宝PayPal
Android 移动端拉起微信 / 支付宝完成支付应用内授权页登录 PayPal 确认
iOS 移动端❌ 不可用(见文首说明)应用内授权页登录 PayPal 确认
TV 端展示收款二维码,移动端扫码支付展示授权链接二维码,移动端扫码确认
网页端跳转 H5 收银台跳转 PayPal 授权后自动返回订单页
  • 支付完成后订单状态自动确认,会员立即生效并实时推送到客户端(无需重启 APP)
  • 订单 30 分钟内未支付自动关闭;关闭前已完成支付的订单仍会正常补发会员
  • 各端均有超时兜底查询,支付回调偶发丢失时也能对账补单

订单管理 ​

后台「会员管理 → 订单管理」查看全部订单:

  • 按订单号、用户 ID、渠道、状态筛选
  • 详情包含商品、金额(¥ / $)、渠道流水号、来源端、设备 ID、客户端 IP、支付时间
  • 状态:待支付 / 已支付 / 已关闭

关于退款

系统不支持后台发起退款。如确需退款,请到各支付渠道的商户后台操作(虚拟会员默认不支持退款)。

支付安全 ​

以下保护自动生效,无需配置:

措施说明
服务端定价下单金额以服务端套餐价为准,客户端只选套餐,无法篡改金额
回调验签三渠道回调逐一带官方证书 / 公钥验签,伪造回调无法发货
金额校验回调金额与订单金额不一致时自动拒绝发货
幂等发货重复回调、并发回调均只发货一次(数据库行级锁保护)
下单防护下单 / 查询接口需登录态 + 设备签名,并有独立限流

降级与激活码 ​

  • 激活码兑换始终可用,不受支付开关影响——即使不接入在线支付,也可以只用激活码售卖会员。激活码生成与管理见用户与会员。
  • 支付关闭或渠道未配置时,各端"开通 VIP"入口降级显示外部购买链接,文案与链接在「会员管理 → 激活码管理」页配置。

影视CMS 使用文档