> ## Documentation Index
> Fetch the complete documentation index at: https://docs.killb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 付款概览

> 从预存余额直接向收款方发送资金

## 什么是付款？

付款功能让您可以将 KillB 预存余额中的资金直接发送给任何收款方——银行账户、加密货币钱包或本地支付别名。与 ramps 不同，无需报价步骤或支付 URL：您已持有余额，直接推送到目标地址即可。

<Info>
  付款需要一个有足够余额的活跃预存账户。在创建付款之前，请确保已存入资金。
</Info>

<CardGroup cols={2}>
  <Card title="Bank Transfer" icon="building-columns">
    **余额 → 银行账户**

    通过 Bank Transfer 将 COP 发送到哥伦比亚银行账户
  </Card>

  <Card title="BREB" icon="id-card">
    **余额 → 已注册别名**

    通过 BREB 向手机号、邮箱或身份证发送
  </Card>
</CardGroup>

## 交易流程

<Steps>
  <Step title="检查余额">
    验证您的预存账户有足够的资金
  </Step>

  <Step title="创建付款">
    提交包含预存账户 ID、金额和收款方详情的付款请求
  </Step>

  <Step title="处理中">
    KillB 将付款路由到收款方的银行账户或钱包
  </Step>

  <Step title="结算">
    资金已交付——完成后收到 webhook 通知
  </Step>
</Steps>

## 关键概念

<AccordionGroup>
  <Accordion title="需要预存账户" icon="vault">
    每笔付款都从预存账户中扣款。在发起付款之前，您必须已创建并充值预存账户。如果余额不足，付款将失败。
  </Accordion>

  <Accordion title="收款方类型" icon="users">
    目前支持的收款方类型为 **Bank Transfer**（标准银行账户转账）和 **BREB**（已注册别名：手机号、邮箱或身份证）。每种类型需要特定的账户字段。
  </Accordion>

  <Accordion title="通过 Header 实现幂等性" icon="fingerprint">
    发送 `Idempotency-Key` 请求头，以安全重试付款创建，避免重复付款的风险。
  </Accordion>

  <Accordion title="Webhook 通知" icon="bell">
    订阅 `PAYOUT` webhook 事件，实时接收每笔付款的状态更新。
  </Accordion>
</AccordionGroup>

## 快速开始

```javascript theme={null}
// 1. 检查预存余额
const balances = await fetch('/api/v2/customers/balances', {
  headers: { 'Authorization': `Bearer ${token}` }
}).then(r => r.json());

// 2. 创建付款
const payout = await fetch('/api/v2/payouts', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
    'Idempotency-Key': 'payout-2024-001'
  },
  body: JSON.stringify({
    preFundAccountId: 'prefund-account-id',
    amount: 500000, // 500,000 COP
    beneficiary: {
      type: 'BANK',
      account: {
        firstName: 'Maria',
        lastName: 'Garcia',
        email: 'maria@example.com',
        phone: '3001234567',
        document: { type: 'CC', number: '12345678' },
        accountNumber: '123456789',
        bankCode: '001',
        type: 'savings',
        countryCode: 'CO'
      }
    }
  })
}).then(r => r.json());

console.log('付款已创建:', payout.id, '| 状态:', payout.status);
```

## 下一步

<CardGroup cols={2}>
  <Card title="创建付款" icon="paper-plane" href="/zh/guides/payouts/create-payout">
    包含代码示例的分步实现指南
  </Card>

  <Card title="状态跟踪" icon="chart-line" href="/zh/guides/payouts/payout-status">
    通过轮询和 webhooks 监控付款进度
  </Card>

  <Card title="预存账户" icon="vault" href="/zh/guides/pre-fund/pre-fund-accounts">
    设置并充值预存账户
  </Card>

  <Card title="API 参考" icon="code" href="/api-reference/endpoint/payouts-create">
    完整的付款 API 文档
  </Card>
</CardGroup>
