📌 核心文档 · 13 / 28

支付中台接入方案

微信支付 · 支付宝 · 华为支付 · 云闪付 · 苹果 IAP · 分账 · 对账 · 风控

册别:第四册 支付与商业化 版本:V3.1 日期:2026-08-17 状态:国内版

一、支付架构总览

核心原则:自有支付底座(金币体系)+ 多渠道接入。金币是内部唯一价值载体,外部支付通道只负责「钱 → 金币」的兑换。

1.1 支付架构图

1
[用户点击充值] → [Payment Service 选择通道] → [微信支付/支付宝/华为支付/云闪付/苹果内购]
2
[外部支付完成] → [回调/Webhook] → [Payment Service 验签] → [发放金币] → [用户余额更新]
3
[对账系统 T+1] → [差异告警] → [人工处理]

1.2 通道对比

通道费率到账适用场景启用阶段
微信支付0.6%/笔(可谈优惠)T+1安卓端首选、用户覆盖率最高M1
支付宝0.6%/笔T+1安卓端补充、大额稳定M1
华为支付以华为政策为准T+1华为应用市场联运配套M2
云闪付0.6%-1%/笔T+1银行卡用户补充M2
苹果 IAP30%(中小开发者 15%)月度结算iOS 充值/订阅(唯一合规路径)M1

1.3 人民币金币汇率体系

货币汇率说明
¥(人民币)1 ¥ = 10 金币基准货币(100 金币起充)
iOS 定价同价人民币档位与苹果分成规则对齐
国内为单一币种,无需每周汇率同步;价格体系由运营按套餐毛利设计(见文档 14 国内支付通道)。用户充值时刻锁定金币数量,不随任何波动变化。

1.4 支付通道抽象层(适配器模式)

各通道在协议、签名、回调、结算周期上差异巨大,业务侧一律不直接接触通道 SDK,全部经「支付网关抽象层」收敛为统一接口,新增通道时仅实现一个适配器即可。

统一接口能力各通道实现
createPayment(channel, order)创建支付单并返回客户端拉起参数微信 v3 App 支付 / 支付宝 app.pay / 华为 IAP / 云闪付 / 苹果 StoreKit
verifyNotify(channel, payload)验签 + 幂等校验 + 订单状态机推进微信平台证书 RSA / 支付宝 RSA2 / 华为签名 / Apple Root CA
queryPayment(channel, tradeNo)主动查单(回调丢失时兜底补单)各通道查单 API,30 分钟未回调自动触发
refund(channel, order, amount)原路退款微信 refund V3 / 支付宝 trade.refund / 华为 / 苹果退款通知
fetchBill(channel, date)拉取对账单微信/支付宝 CSV / 华为结算报表 / Apple Financial Report
# 抽象层核心:ChannelAdapter 接口 + 注册中心 interface ChannelAdapter: def create_payment(order) -> PaymentParams # 返回拉起参数 def verify_notify(payload) -> PaymentResult # 验签 + 幂等 def query(trade_no) -> PaymentResult # 兜底查单 def refund(order, amount) -> RefundResult # 原路退款 def fetch_bill(date) -> BillFile # 对账单拉取 class PaymentGateway: adapters = {"wechat": WechatAdapter(), "alipay": AlipayAdapter(), "huawei": HuaweiAdapter(), "unionpay": UnionpayAdapter()} def charge(self, channel, order): return self.adapters[channel].create_payment(order) # 探活:通道失败 3 次/分钟 → 标记降级,路由自动切换备用通道

路由与降级策略:Android 默认路由「微信 → 支付宝」;华为渠道「华为支付 → 微信」;通道探活失败即标记降级,用户侧自动切换备用通道;全部通道不可用时展示「网络繁忙,稍后重试」并记录告警。

二、微信支付接入(国内核心通道)

2.1 技术对接

项目规格
对接方式微信支付商户平台(V3 API)
协议REST API + JSON + HMAC-SHA256 签名(平台证书验签)
认证商户号 + API v3 密钥 + 证书
支付流程服务端创建订单 → 返回支付参数 → 客户端拉起微信 → 微信回调
支付方式App 支付(Android)+ JSAPI(H5)+ 小程序支付
限额单笔默认不限,按商户风控配置
退款支持原路退(V3 refund API)

2.2 支付流程

// 1. 前端请求创建订单 POST /payment/charge { "package_id": "pkg_1200", "channel": "wechat" } // 2. 后端 → 微信支付 API:创建订单 POST https://api.mch.weixin.qq.com/v3/pay/transactions/app Headers: Authorization: WECHATPAY2-SHA256-RSA2048 ... Body: { "appid": "wx_xxx", "mchid": "mch_xxx", "description": "Vocalink 1200 金币", "out_trade_no": "ord_xxx", "notify_url": "https://api.vocalink.cn/v1/payment/notify/wechat", "amount": { "total": 990, "currency": "CNY" } } // 3. 微信返回预支付参数 Response: { "prepay_id": "wx_xxx" } // 4. 客户端调起微信支付 → 微信异步回调 POST /payment/notify/wechat { "out_trade_no": "ord_xxx", "transaction_id": "wx_123", "trade_state": "SUCCESS", "amount": {...} } // 5. 后端验签 → 发放金币 → WebSocket 通知客户端

2.3 错误处理

错误码含义处理
PAY_ERROR支付异常(余额不足等)提示「支付失败,请重试或更换方式」
ORDERPAID订单已支付查询订单状态 → 幂等发放金币
SIGN_ERROR签名验证失败服务器错误 → 告警 + 重试 3 次
SYSTEMERROR微信服务不可用降级到支付宝
重复回调微信重复推送幂等处理(out_trade_no 唯一)

三、支付宝接入

3.1 技术对接

项目规格
SDK支付宝开放平台 SDK(Android/Web)+ alipay-sdk-java(后端)
模式App 支付 / 手机网站支付(alipay.trade.app.pay)
异步通知trade_status = TRADE_SUCCESS / TRADE_FINISHED
风控支付宝风险大脑(服务端)+ 自建规则
结算T+1 到对公账户

3.2 支付流程

// 1. 后端创建支付宝订单 AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); request.setNotifyUrl("https://api.vocalink.cn/v1/payment/notify/alipay"); request.setBizContent("{" + "\"out_trade_no\":\"ord_xxx\"," + "\"total_amount\":\"9.90\"," + "\"subject\":\"Vocalink 1200 金币\"," + "\"product_code\":\"QUICK_MSECURITY_PAY\"}"); // 2. 返回 orderStr 给前端 Response: { "orderStr": "alipay_sdk=alipay-sdk-java..." } // 3. 前端拉起支付宝 → 支付宝异步通知 POST /payment/notify/alipay { "out_trade_no": "ord_xxx", "trade_no": "2026081522001", "trade_status": "TRADE_SUCCESS", "total_amount": "9.90", "sign": "..." } // 4. 后端验签(RSA2)+ 幂等 + 发放金币

3.3 退款处理

场景方式到账
用户申请退款原路退(alipay.trade.refund)1-3 个工作日
重复扣款原路退 + 道歉补偿即时发起
无法原路退退到 Vocalink 金币余额即时

四、苹果 In-App Purchase

4.1 产品配置

Product ID类型价格对应内容
cn.vocalink.coins.100Consumable¥6.00100 金币
cn.vocalink.coins.600Consumable¥30.00600+100 金币
cn.vocalink.coins.1300Consumable¥60.001300+200 金币
cn.vocalink.coins.3000Consumable¥128.003000+600 金币
cn.vocalink.vip.monthAuto-Renewable¥45.00/月VIP 月订阅
cn.vocalink.vip.yearAuto-Renewable¥328.00/年VIP 年订阅

4.2 验证流程

// 1. iOS 客户端完成购买 → 获取 receipt let receiptData = try! Data(contentsOf: Bundle.main.appStoreReceiptURL!) let receiptString = receiptData.base64EncodedString() // 2. 客户端发送 receipt 到后端验证 POST /payment/subscription { "plan_id": "vip_month", "channel": "apple_iap", "receipt_data": receiptString } // 3. 后端 → Apple VerifyReceipt API(国内网络可达性评估,必要时走合规通道) POST https://buy.itunes.apple.com/verifyReceipt { "receipt-data": receiptString, "password": "shared_secret" } // 4. Apple 返回验证结果 { "status": 0, "receipt": {...}, "latest_receipt_info": [{ "product_id": "cn.vocalink.vip.month", "expires_date_ms": "1718000000000" }] } // 5. 后端验证 + 发放 VIP + 记录原始交易 ID(用于续订)

4.3 订阅续订处理

事件Apple 通知后端动作
首次购买DID_CHANGE_RENEWAL_STATUS发放 VIP + 记录 original_transaction_id
续订成功DID_RENEW延长 VIP 有效期
续订失败FAILED_TO_RENEW标记 grace_period → 3 天宽限
用户取消CANCEL到期日停止 VIP
退款REFUND撤回 VIP + 扣回金币

⚠️ 苹果 30% 佣金影响:

  • 苹果内购抽成 30%(中小开发者 15%),iOS 端定价需覆盖成本
  • iOS 端禁止引导用户至外部支付(审核规则 3.1.1),遵守平台规范
  • iOS 虚拟商品(金币/会员)只允许 IAP 路径,不可跳转 H5 充值

五、华为支付与联运

项目规格
接入方式华为应用内支付(IAP)SDK,随华为联运上架
产品类型消耗型商品 + 订阅型商品
分成以联运合同为准(华为商店联运分成)
验证服务端 Order Service 校验签名
对账华为开发者平台下载结算报表

📌 说明:华为渠道用户可在华为支付体系内完成充值,与微信/支付宝形成「厂商商店 + 第三方支付」双轨;联运分成与支付通道选择需在商务合同阶段明确(见文档 14 与 19)。

六、对账系统

6.1 对账流程

1
拉取账单:[T+1 00:30] 拉取微信支付账单 / 支付宝账单 / 苹果结算单 / 华为结算单
2
比对:与内部 payments 表比对 → 匹配标记 reconciled → 差异生成告警
3
差异处理:金额差异 → 财务调查 / 丢失交易 → 补发追回 / 重复 → 退款

6.2 对账规则

通道对账文件频率容差
微信支付微信支付账单(CSV,下载 API)每日¥0.01
支付宝支付宝对账单(CSV)每日¥0.01
苹果Apple Financial Report每月¥0.10
华为华为结算报表每月¥0.10

6.3 差异处理

差异类型原因处理
金额少 1-2%通道费率/四舍五入自动调整(容差内)
交易丢失回调未送达查询通道 API → 补发金币
重复发放回调重复推送幂等拦截(已处理)
金额差异大优惠/手续费变更财务人工调查
退款未同步通道退款延迟标记 pending → 7 天复查

七、风控系统

7.1 风控规则

规则触发条件动作
高频充值同一用户 1 小时内 > 5 笔限流 + 人工审核
大额充值单笔 > ¥500加强验证(短信/人脸)
异常地区IP 归属异常 / 频繁切换短信确认 + 限流
新账号大额注册 < 24h + 充值 > ¥200延迟到账(24h 观察期)
退款率异常用户退款率 > 30%标记高风险 + 限制
疑似未成年人实名信息异常 / 触发人脸核验按文档 18 强制核验与限制
金币异常消耗1 小时内消耗 > 5000 金币临时冻结 + 验证

7.2 风控架构

# 风控引擎(Payment Service 内) class RiskEngine: def evaluate(self, payment_request): risk_score = 0 user = get_user(payment_request.user_id) # 规则 1:高频 if self._count_recent_payments(user.id, hours=1) > 5: risk_score += 30 # 规则 2:大额 if payment_request.amount_cny > 500: risk_score += 20 # 规则 3:异常地区 if payment_request.ip_region in BLOCK_LIST: risk_score += 25 # 规则 4:新账号 if (now() - user.created_at) < 24h and payment_request.amount_cny > 200: risk_score += 35 # 规则 5:未实名 / 疑似未成年 if not user.real_name_verified: risk_score += 40 # 决策 if risk_score >= 70: return "block", "High risk score" elif risk_score >= 40: return "review", "Manual review needed" else: return "allow", "Low risk"

7.3 支付安全合规

要求实现
不存储敏感信息不接触银行卡号,由微信/支付宝代持
加密传输TLS 1.2+ 全链路
访问日志所有支付操作审计日志(不可篡改)
定期扫描季度漏洞扫描 + 年度渗透测试
员工培训半年一次支付安全与反诈培训
网络隔离支付服务独立 VPC + 最小权限

八、退款与争议处理

8.1 退款政策

场景退款方式时限审批
未消费金币原路退(微信/支付宝)1-3 个工作日自动(< ¥200)
已消费金币退到 Vocalink 金币余额即时客服审批
VIP 未使用按比例退(原路)1-3 个工作日自动
VIP 已使用按剩余天数退1-3 个工作日客服审批
技术问题导致全额退 + 补偿金币即时自动(标记 bug)
iOS 退款苹果处理并回传通知以苹果为准按苹果规则

8.2 争议处理

阶段时间动作
收到争议/投诉Day 0标记订单 + 冻结争议金额 + 联系用户核实
收集证据Day 1-7交易日志/IP/设备指纹/用户行为
处理或辩护Day 7-14通过微信/支付宝争议处理流程提交材料
结果处理按平台周期胜诉→解冻 / 败诉→退款+标记用户

九、分账体系(主播 / 语伴打赏)

9.1 分账模式

模式说明适用阶段
平台抽佣(默认)用户打赏金币 → 平台按比例抽佣 → 剩余计入创作者金币余额M2 起默认模式
微信支付分账微信「分账」API:支付成功后按比例向创作者子商户分账(需服务商/特约商户资质,见文档 19)M4 规模化后启用
平台代付创作者提现 → 平台统一代发(企业付款到零钱/个人打款)M2-M3 过渡方案

9.2 分账流程(以微信分账为例)

1
打赏入账:用户打赏金币 → 生成打赏订单 → 微信支付成功 → 金币实时到账创作者余额。
2
平台分账:调用微信「分账」API,按规则(如平台 60% / 创作者 40%)向创作者子商户分配资金。
3
回执更新:分账结果回执 → 更新分账记录表(order_id / 平台 / 创作者 / 比例 / 金额 / 状态)。
4
创作者提现:满 ¥10 提现 → 子商户提现或平台代付(T+1 到账)。
5
对账:T+1 对账含分账维度,分账金额与提现金额双向核对。

9.3 分账规则与税务

项目规则
抽佣比例M2-M3 平台 60% / 创作者 40%(覆盖通道费与运营成本);M4 按档位优化(头部创作者 55/45)
提现门槛满 ¥10 可提现;单日提现上限 ¥2,000
到账时效提现申请后 T+1 个工作日到账
税务创作者收入按劳务报酬代扣代缴个人所得税(与文档 15 联动);金额较大主体切换为企业间结算
风控提现前完成实名 + 人脸核验;新账号大额提现延迟 24h 观察期

9.4 虚拟币 → 现金合规红线

⛔ 红线:金币仅限平台内消费(通话、礼物、会员),不可反向兑换为现金;创作者打赏收益仅可提现为人民币且按劳务报酬报税。严禁「买量刷打赏」「自充自提」等套现行为,一经发现冻结账号并留存证据、必要时报备。

十、里程碑演进(M1-M5)

里程碑支付通道新增能力预期月流水
M1微信支付 + 支付宝 + 苹果 IAP基础充值/订阅/退款~¥5 万(内测期,DAU ≤ 5,000)
M2首发通道稳定运营优惠券系统 + 首充活动~¥15-30 万(1 万 DAU)
M3+ 华为支付 + 云闪付会员体系升级 + 组合套餐~¥50-80 万(5-10 万 DAU)
M4全通道稳定运营主播打赏分账体系优化~¥300 万(30-50 万 DAU)
M5通道精细化费率谈判 + 个性化定价~¥700 万(50-100 万 DAU)

附录

附录 A:回调端点清单

URL来源验证方式
POST /v1/payment/notify/wechat微信支付微信支付平台证书验签(RSA)
POST /v1/payment/notify/alipay支付宝支付宝公钥验签(RSA2)
POST /v1/payment/notify/apple苹果Apple Root CA(VerifyReceipt)
POST /v1/payment/notify/huawei华为华为签名校验

附录 B:相关文档

文档关联内容
10 API 接口规范/payment/* 接口契约
11 数据库设计payments / subscriptions 表
12 第三方服务集成微信支付/支付宝接入概述
14 国内支付通道通道选型与费率细化
15 国内税务与牌照合规收入确认与发票

附录 C:修订记录

版本日期修改内容作者
V1.02026-08-15初始版本(支付中台接入方案)支付团队
V2.02026-08-17重写为国内版:微信支付/支付宝/华为支付/云闪付/苹果内购、人民币金币体系、分账对账风控、M1-M5 演进;主色对齐国内版暗红模板项目组
V3.02026-08-17精益化校准:支付时点对齐(华为/云闪付 M3 起);预期月流水对齐 DAU 阶梯(M2 ¥15-30 万 → M5 ¥700 万,与 28 对齐)项目组
V3.12026-08-17补强:新增 1.4 支付通道抽象层(适配器模式 + 统一接口 + 降级路由);新增第九节分账体系(模式/流程/规则税务/虚拟币合规红线),原里程碑演进顺延为第十节项目组