跳转到主要内容
按照以下步骤集成启润支付并收取你的第一笔付款。

前提条件

  • 一个启润支付商户账号(点此注册
  • 你的 API 密钥(在控制台的「开发者」页面获取)

第一步:获取 API 密钥

注册后,前往 控制台 > 开发者,复制你的 API 密钥。
  • 测试密钥kyren_test_xxxxxxxxxxxx — 用于开发测试
  • 生产密钥kyren_live_xxxxxxxxxxxx — 用于正式收款
请妥善保管你的 API 密钥。切勿在客户端代码或公开仓库中暴露密钥。

第二步:创建产品

创建一个代表你所售商品的产品:
curl -X POST https://api.kyren.top/v1/products \
  -H "Content-Type: application/json" \
  -H "x-api-key: kyren_test_xxxxxxxxxxxx" \
  -d '{
    "name": "1000 AI Credits",
    "description": "充值 1000 个 AI API 额度",
    "price": 9.99,
    "currency": "USD"
  }'
保存响应中的 id,后续创建 Checkout Session 时需要用到。

第三步:创建 Checkout Session

当客户要付款时,创建一个 Checkout Session:
curl -X POST https://api.kyren.top/v1/checkouts \
  -H "Content-Type: application/json" \
  -H "x-api-key: kyren_test_xxxxxxxxxxxx" \
  -d '{
    "productId": "prod_abc123",
    "successUrl": "https://yoursite.com/success",
    "cancelUrl": "https://yoursite.com/cancel"
  }'
响应中包含 url 字段 — 将客户重定向到该 URL 即可完成付款。

第四步:重定向到收银台

将客户重定向到第三步返回的 Checkout URL。客户会看到一个托管的支付页面,可以选择喜欢的支付方式。
// 示例:在你的 Web 应用中重定向
window.location.href = checkoutResponse.data.url;

第五步:处理 Webhook

付款完成后,启润支付会向你的服务器发送 Webhook:
// Express.js 示例
app.post('/webhooks/kyren', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-kyren-signature'];
  const timestamp = req.headers['x-kyren-timestamp'];
  const payload = req.body.toString();

  // 验证签名(详见 Webhook 签名验证章节)
  if (!verifySignature(payload, signature, timestamp)) {
    return res.status(400).send('Invalid signature');
  }

  const event = JSON.parse(payload);

  if (event.type === 'order.paid') {
    const orderId = event.data.order_id;
    const amount = event.data.amount;
    // 在你的系统中完成订单
    console.log(`收到付款: ${amount} ${event.data.currency}`);
  }

  res.status(200).send('OK');
});
控制台 > 开发者 > Webhook 设置 中配置你的 Webhook URL。

下一步