API Reference
API Reference

Subotiz SDK

Documentation Index

Fetch the complete documentation index at: https://developer.subotiz.com/llms.txt
Use this file to discover all available pages before exploring further.

Subotiz SDK

使用说明

CDN地址

https://cdn.subotiz.com/static/subotiz/v0/subotiz.js

SDK实例化

通过以下代码完成SDK实例创建:

const subotiz = window.Subotiz()

预热Checkout(推荐)

此方法用于提前加载Checkout所需资源,使后续打开Checkout时首屏展示更快。

prewarm是挂载在Subotiz上的静态方法,无需创建SDK实例即可调用。预热在页面空闲时进行,不影响您页面的正常加载。

建议在引入subotiz.js后尽早调用,无需等待initEmbeddedCheckout,以预留充足的预热时间。

方法调用示例

<!-- 引入SDK,建议异步加载以避免阻塞页面 -->
<script
  async
  src="https://checkout.subotiz.com/static/subotiz/v0/subotiz.js"
  onload="window.Subotiz.prewarm({ environment: 'PRODUCTION' })"
></script>

<!-- 自定义域名商家: -->
<!--
<script
  async
  src="https://checkout.subotiz.com/static/subotiz/v0/subotiz.js"
  onload="window.Subotiz.prewarm({ checkoutUrl: 'https://pay.merchant.com' })"
></script>
-->

参数说明

Options (可选) object类型

属性类型必填默认值描述
environment'SANDBOX' | 'PRODUCTION''SANDBOX'当前环境设置,需与初始化Checkout时保持一致
'SANDBOX' - 沙盒环境(默认值)
'PRODUCTION' - 生产环境
checkoutUrlstring

自定义Checkout域名,提供时优先于environment

必须与后续实际使用的Checkout域名一致,否则预热不生效

trigger'domready' | 'immediate''domready'预热触发时机
'domready' - 页面DOM就绪后自动预热(默认值,推荐)
'immediate' - 调用后立即预热,适用于您希望自行控制预热时机的场景

初始化嵌入式Checkout

此方法用于初始化嵌入式Checkout支付组件,返回Checkout实例。

方法调用示例

const checkout = await subotiz.initEmbeddedCheckout({
    fetchSessionUrl: async() =>{
        // 从服务端获取sessionURL示例
        const response = await fetch('/api/session');
        const data = await response.json();
        return data.sessionUrl;
    },
    environment: 'SANDBOX',  // 'SANDBOX' | 'PRODUCTION'
    
});

参数说明

Options (必传) object类型

属性类型必填默认值描述
fetchSessionId()=>Promise<string>

回调函数 fetchClientSecret() => Promise<string> 获取 Checkout Session id。

fetchSessionIdfetchSessionUrl必须要提供⼀个,同时提供时仅调⽤fetchSessionId

fetchSessionUrl()=>Promise<string>

回调函数 fetchClientSecret() => Promise<string> 获取 Checkout Session URL。

fetchSessionIdfetchSessionUrl必须要提供⼀个,同时提供时仅调⽤fetchSessionId

environment'SANDBOX' | 'PRODUCTION''SANDBOX'当前环境设置
'SANDBOX' - 沙盒环境(默认值)
'PRODUCTION' - 生产环境
onComplete()=>void支付完成时的回调函数仅在创建Checkout Session时将redirect_on_completion 设置为 if_required 时触发,即用户不接受自动重定向时触发该回调

挂载Checkout组件

需先创建容器DOM元素,再将Checkout组件挂载到该容器中。

操作示例

<!-- 创建容器 -->
<div id="your_domElement">
  <!-- Checkout组件将在此处显示 -->
</div>

<script>
  // 挂载组件
  checkout.mount('#your_domElement');
</script>

参数说明

  • selector 必传 string类型,容器元素的CSS选择器(如#your_domElement

卸载Checkout组件

从DOM中卸载已挂载的Checkout组件,后续可通过mount重新挂载。

checkout.unmount();