第三方集成
当前版本已实现 API、微信登录与微信支付协议适配。下面列出各项能力需要的资料、密钥位置和接入状态;“待适配”的功能仍需要开发,不能只填写密钥启用。
| 能力 | 准备材料 | 客户端可放 | 仅服务端 | 当前状态 |
|---|---|---|---|---|
| API | 域名、HTTPS、托管账号 | API_BASE_URL | 数据库和管理员凭证 | 订单与履约 API 已实现 |
| 微信登录 | 小程序/开放平台账号 | AppID、登录 code(短期传输) | AppSecret、服务端会话 | 小程序与原生身份交换已实现,待自有账号联调 |
| 短信登录 | 腾讯云短信应用、签名和模板审核 | 手机号与验证码输入 | SecretId/SecretKey、身份摘要密钥、验证码摘要和限流 | 腾讯云、验证码与会话已实现;默认关闭,待自有账号联调 |
| 微信支付 | 商户入驻、业务类目、AppID 绑定 | 服务端返回的合法支付参数 | 商户私钥、API v3 Key、平台证书/公钥配置 | JSAPI/APP、查单、全额退款及退款同步已实现;待真实验收,自动账单未实现 |
| 支付宝 | 商户和应用、对应产品签约 | 服务端生成的支付参数 | 应用私钥、验签公钥 | 待适配 |
| Apple / Google 应用内购买 | 按真实商品/服务性质判断 | 产品 ID | 回执校验/通知处理凭证 | 待评估及适配 |
| 消息 / 语音 | IM/RTC 项目和费用策略 | AppID、短期用户票据 | 管理密钥、票据签名密钥 | 未集成 |
| 推送 | APNs / Android 厂商账号 | 设备 token、公开标识 | APNs 私钥、厂商服务端密钥 | 未集成 |
| 图片 / 视频 | 对象存储、权限和审核策略 | 短时上传凭证、公开资源 URL | 永久读写密钥 | 未集成 |
密钥放进服务端环境后,还需要代码使用它们。当前服务器没有读取的变量不要当成有效配置。配置检查器只报告配置形状,不证明商户已审核、密钥有权限或接口可用。
已实现的环境变量和逐步联调方法见 微信接入教程 与 手机号登录教程。本次测试使用本地测试密钥和模拟响应,没有向微信创建真实支付订单,也没有发送真实短信。
真实登录适配的验收#
微信身份交换、腾讯云短信验证码、会话、账号注销和权限校验已经实现。按对应教程在真机完成登录,确认同一个身份对应同一个项目账号,过期会话会被拒绝。正式模式禁止 /auth/demo 与本地验证码模式。其他短信供应商仍需单独适配。
接着验证注销、会话撤销和客服处理流程。检查一个账号无法读取或修改另一个账号的订单;登录失败时不应回退到测试身份。
真实支付适配的验收#
微信 JSAPI / APP 下单、验签、查单、全额退款和退款同步已有代码实现。配置自己的商户后,先核对订单金额由服务器按服务规格生成,再进行预支付联调。业务订单号、商户号和金额必须与供应商记录一致。
支付成功以服务端验证过的通知或主动查单结果为准,不以客户端“支付成功”弹窗为准。通知必须核对签名、商户、订单号、金额、币种;同一通知重复到达只处理一次。验证超时关闭、退款、重复请求和退款状态同步。当前尚无自动账单下载任务,需要经营者建立对账流程。取消预约不代表退款已完成。
使用供应商允许的测试流程验证一笔完整订单,再按其规则进行小额真实验收。仅有按钮或二维码不算支付接入完成。官方文档:微信支付、支付宝开放平台、Apple 购买规则、Google Play 支付政策。
服务器密钥交接#
让俱乐部自己持有供应商账号和密钥。开发者只能获得完成任务需要的权限;部署时从密码管理器写入宿主机秘密配置,不放入 Git、教学截图或录屏。更换维护人员后轮换相应供应商凭证并保存不含密钥值的记录。SMS_HASH_SECRET 是持久身份索引的密钥,不可按普通供应商凭证直接换值;必须与数据库长期配对保管,当前不支持无迁移轮换。