fix: 补全iOS抖音支付SDK回跳URL
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# iOS 抖音支付回跳修复(2026-09-11)
|
||||
|
||||
## 二次修复:SDK 要求完整回跳 URL(插件 0.2.3)
|
||||
|
||||
用户确认重新打包安装了 f568fa0 的完整 IPA,支付后仍停在抖音,商城未打开。前次仅修复 Universal Link 选择,遗漏了 SDK 参数格式,不能视为真机回跳问题已经解决。
|
||||
|
||||
本次读取[官方 OpenSDK 集成指南原文](https://pay.douyinpay.com/wiki/639fd757f4a57b0226bb2066/639fd78317c2f3021d238378.md)和[官方 App 调起支付文档](https://pay.douyinpay.com/wiki/639fd48f17c2f3021d237f61/639fd5e470f838021f2961e5.md)。注册示例明确将 `<scheme>://dypay` 传给 callbackScheme,不能直接传系统注册的裸 Scheme。
|
||||
|
||||
两个配置的值不同:
|
||||
|
||||
- manifest.json 的 ios.urltypes、Info.plist 的 CFBundleURLSchemes:仍为 `trustbridgeapp`。
|
||||
- iOS 原生 DypayAPI 注册的 callbackScheme:必须为 `trustbridgeapp://dypay`,appId 仍为服务端返回的签名 appid。
|
||||
|
||||
app-ios/index.uts 在调用 Swift 前将裸 Scheme 或带 `://` 的根地址补齐为完整回跳 URL;已经完整的 URL 不重复拼接,非法格式在修改共享配置及调用原生前拒绝。JS 入口仍传宿主 Scheme,Android 不变。导出资源确认 TbDouyinPayHook 已生成且记录在 hooksClass 中,不额外添加重复 Hook。保留前次移除默认无效 Universal Link 的修复。
|
||||
|
||||
56 项支付回归通过,新增测试运行实际 iOS index.uts 转译代码,捕获送入原生桥接的参数,验证裸 Scheme、根地址、完整 URL、非法地址和回调转发。原生 SDK 使用模拟边界;尚无完整 IPA 编译或真机成功回跳的验证结果。必须重新打包安装包含插件 0.2.3 的完整 IPA/自定义基座,WGT 无法更新本次 UTS 原生代码。
|
||||
|
||||
HBuilderX 5.24 于 13:58:18 App 资源编译、导出成功,仅既有 CSS 警告;已检查生成的 Swift,确认 callbackURL 拼接、格式验证、原生 initialize 参数及 hooksClass 均生成。此检查不等同 Xcode 编译或真机支付。
|
||||
|
||||
## 前次修复记录(插件 0.2.2,未解决完整 URL 格式)
|
||||
|
||||
基于 `charles/frontend-app` 的 `dev_codex` / `355ad11`。用户已确认在实际 iPhone 上打开 `trustbridgeapp://` 可以唤起商城。
|
||||
|
||||
## 发现与修改
|
||||
|
||||
Reference in New Issue
Block a user