用途:面向 Shopify 结账环节的扩展开发,用于构建结账 UI 扩展、添加自定义字段、实现支付自定义、创建购后追加销售、扩展客户账户页、自定义结账体验以及添加自定义校验逻辑。扩展具备升级安全(兼容 Shop Pay 与新功能)、性能较好(在沙箱环境运行)和受限安全访问等特性。
主要能力与扩展类型:结账 UI(向结账添加自定义 UI)、购后(订单后追加销售)、客户账户(扩展账户页)、感谢页(自定义订单确认)、订单状态(扩展订单跟踪)。常用扩展目标包括配送选项列表前后、支付方式列表前、订单摘要、页眉页脚以及通用的 purchase.checkout.block.render 等。
使用方式:在已有应用中运行 shopify app generate extension,选择 Checkout UI 或 Post-purchase UI,然后在 shopify.extension.toml 中配置 api_version 与 target。UI 侧通过 @shopify/ui-extensions-react/checkout 的 reactExtension 注册,可使用 useCartLines、useTotalAmount、useShippingAddress、useCustomer、useDiscountCodes 等读取结账数据,用 useApplyMetafieldsChange 与 useMetafield 写入自定义字段,用 useBuyerJourneyIntercept 阻断结账进度做校验。购后扩展使用 @shopify/post-purchase-ui-extensions-react 的 extend 与 render。客户账户扩展使用 @shopify/ui-extensions-react/customer-account。本地开发用 shopify app dev 预览,也可在 Shopify 后台 Checkout 的“Customize”中添加扩展块预览。网络请求可通过 useApi 获取 sessionToken 后调用自有后端。多语言通过 locales 下的 JSON 文件配合 useTranslate 实现。
适用场景:需要自定义结账文案与交互、收集礼品留言等附加信息、按条件校验后才能继续结账、订单完成后推荐商品等。
限制:资料建议保持扩展快速、减少 API 调用、优雅处理错误、支持本地化、在移动端测试并遵循 Shopify 结账设计规范。后端逻辑需参考 shopify-functions 技能。具体收费、定价与托管细节暂未提供。