SuperAPI AI 工具集

salla-addon-purchase-embedded

通用与其它

查看项目

更新于 10-16 01:13

技能介绍

用途:在 Salla 商家后台的嵌入式应用内完成附加组件(addon)购买体验。本技能只负责购买 UX:列出附加组件、打开原生结账、响应结果;支付后的激活、权益与续订由 webhook 驱动,归 salla-addon-purchase 负责。

前提:需先通过 salla-embedded-app 构建可用的嵌入式应用(SDK 初始化、握手完成、会话令牌服务端校验、No-Chrome),并假定已有已认证的嵌入式会话。

主要能力:使用嵌入式 SDK 的 Checkout 模块三个方法——embedded.checkout.getAddons() 获取应用附加组件(slug、名称、价格);embedded.checkout.create(input, config?) 打开原生结账抽屉;embedded.checkout.onResult(callback) 监听支付结果(含 3DS 重定向后)。

使用方式:先调用 getAddons() 渲染附加组件卡片,slug 与价格必须来自返回值而非硬编码;在初始化时先注册 onResult,再调用 create({ type: "addon", slug }, { context }) 打开结账,可用 context 保存路由以便 3DS 重载后恢复;购买成功后仅显示待处理状态,不得在客户端解锁功能,需等待 salla-addon-purchase 处理签名校验且幂等的 app.subscription.started webhook(item_type: "addon",按 item_slug 匹配)持久化权益后再展示功能。若后端 API 返回 401,调用 embedded.auth.refresh() 并重新引导。

限制:Salla 拥有计费,不得自行收集或存储支付信息;SDK 签名与载荷随 @salla.sa/embedded-sdk 版本变化,需对照文档或包确认;getAddons() 在网络或超时错误时返回 success: false 而非抛出,需处理;create() 对无效输入同步抛出;onResult 返回的订阅函数需在卸载时调用以避免泄漏。具体价格、平台与效果资料暂未提供。