Documentation IndexFetch 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.jsSDK实例化
通过以下代码完成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' - 生产环境 |
| checkoutUrl | string | 否 | 自定义Checkout域名,提供时优先于 必须与后续实际使用的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> | 否 | 回调函数
| |
| fetchSessionUrl | ()=>Promise<string> | 否 | 回调函数
| |
| 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();