<!-- ZenPays documentation · https://docs.zenpayz.com/docs/api-reference/settlements -->

# Settlements

Manage merchant settlements and bank accounts. Access via `zenpays.settlements`.

## Settlements

### list

<Tabs groupId="language">
  <TabItem value="javascript" label="JavaScript" default>

```typescript
const { data } = await zenpays.settlements.list({
  status: 'completed',
  from: '2024-01-01',
})
```

  </TabItem>
  <TabItem value="python" label="Python">

```python
result = zenpays.settlements.list({"status": "completed", "from": "2024-01-01"})
```

  </TabItem>
</Tabs>

---

### get

```typescript
const settlement = await zenpays.settlements.get('stl_xxx')
```

---

### create

<Tabs groupId="language">
  <TabItem value="javascript" label="JavaScript" default>

```typescript
const settlement = await zenpays.settlements.create({
  amount: 10000,
  currency: 'INR',
  bankAccountId: 'ba_xxx',
})
```

  </TabItem>
  <TabItem value="python" label="Python">

```python
settlement = zenpays.settlements.create({
    "amount": 10000,
    "currency": "INR",
    "bankAccountId": "ba_xxx",
})
```

  </TabItem>
</Tabs>

---

### cancel

```typescript
const cancelled = await zenpays.settlements.cancel('stl_xxx')
```

---

### getStats

```typescript
const stats = await zenpays.settlements.getStats({
  startDate: '2024-01-01',
  endDate: '2024-12-31',
})
// Returns: { totalSettled, pendingAmount, settlementCount, currency }
```

---

## Bank Accounts

### listBankAccounts

```typescript
const { bank_accounts } = await zenpays.settlements.listBankAccounts()
```

---

### addBankAccount

```typescript
const { bank_account } = await zenpays.settlements.addBankAccount({
  accountNumber: '1234567890',
  ifscCode: 'HDFC0001234',
  accountHolderName: 'John Doe',
  bankName: 'HDFC Bank',
})
```

---

### updateBankAccount

```typescript
const { bank_account } = await zenpays.settlements.updateBankAccount('ba_xxx', {
  accountHolderName: 'Jane Doe',
})
```

---

### deleteBankAccount

```typescript
await zenpays.settlements.deleteBankAccount('ba_xxx')
```
