跳转到主要内容
Clink Node.js SDK 为服务端 JavaScript 和 TypeScript 应用提供了便捷的 Clink API 调用方式,并内置了完整的 TypeScript 类型定义。

NPM Package

在 npmjs.com 查看该包

安装

使用你偏好的包管理器安装:
npm install @clink-ai/clink-typescript-sdk

快速开始

开始使用前,需要先用你的 API Key 初始化客户端。你可以在 Clink Dashboard 的 Developers 页面找到密钥。
安全提示: 该 SDK 仅适用于服务端。不要在浏览器端代码或公开仓库中暴露 Secret API keys
import { ClinkPayClient } from '@clink-ai/clink-typescript-sdk';

const client = new ClinkPayClient({
  apiKey: 'YOUR_API_KEY',
  env: 'sandbox',
});

async function main() {
  const session = await client.createCheckoutSession({
    originalAmount: 1999,
    originalCurrency: 'USD',
    successUrl: 'https://merchant.example.com/success',
    cancelUrl: 'https://merchant.example.com/cancel',
    allowPromotionCodes: true,
  });

  console.log(session.sessionId);
  console.log(session.url);
}

main();

API 概览

  • createCheckoutSession(options):创建 checkout session,并返回跳转 url
  • getCheckoutSession(sessionId):查询 checkout session 详情
  • getOrder(orderId):查询订单详情
  • getRefund(refundId):查询退款详情
  • getSubscription(subscriptionId):查询订阅详情
  • getInvoice(invoiceId):查询订阅发票详情
  • customerPortalSession(options):创建 customer portal session,并返回访问链接
所有方法都是异步的,接口返回错误时会抛出异常。

错误处理

当 API 返回非成功状态码(4xx 或 5xx)时,SDK 会抛出错误。建议用 try/catch 包裹调用逻辑。
import { ClinkPayClient } from '@clink-ai/clink-typescript-sdk';

const client = new ClinkPayClient({ apiKey: 'YOUR_API_KEY', env: 'sandbox' });

async function demo() {
  try {
    const order = await client.getOrder('ord_123');
    console.log(order.status);
  } catch (e) {
    if (e instanceof ClinkApiError) {
      const { code, message } = e;
      // your code here
    }
    // handle other errors
  }
}

demo();

参考资料