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

# Vendors

Manage vendors/partners, track commissions, referrals, and process payouts. Access via `zenpays.vendors`.

## Vendor Management

### create

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

```typescript
const vendor = await zenpays.vendors.create({
  name: 'Acme Corp',
  email: 'vendor@acme.com',
  phone: '+911234567890',
  country: 'IN',
  commissionRate: 5, // percentage
})
```

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

```python
vendor = zenpays.vendors.create({
    "name": "Acme Corp",
    "email": "vendor@acme.com",
    "phone": "+911234567890",
    "country": "IN",
    "commissionRate": 5,
})
```

  </TabItem>
</Tabs>

---

### list

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

```typescript
const { data } = await zenpays.vendors.list({
  search: 'acme',
  status: 'active',
  page: 1,
  limit: 20,
})
```

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

```python
result = zenpays.vendors.list({"status": "active", "limit": 20})
```

  </TabItem>
</Tabs>

---

### getStats

```typescript
const stats = await zenpays.vendors.getStats()
```

---

### get

```typescript
const vendor = await zenpays.vendors.get('vnd_xxx')
```

---

### update

```typescript
const updated = await zenpays.vendors.update('vnd_xxx', { commissionRate: 7.5 })
```

---

### delete

Soft-delete a vendor.

```typescript
await zenpays.vendors.delete('vnd_xxx')
```

---

### updateStatus

```typescript
const updated = await zenpays.vendors.updateStatus('vnd_xxx', 'suspended')
// status: 'active' | 'inactive' | 'suspended'
```

---

## KYC

### updateKyc

```typescript
const updated = await zenpays.vendors.updateKyc('vnd_xxx', {
  verificationLevel: 'advanced',
  documents: ['doc_xxx'],
})
```

---

## Commissions & Referrals

### listCommissions

```typescript
const commissions = await zenpays.vendors.listCommissions('vnd_xxx')
```

---

### listReferrals

```typescript
const referrals = await zenpays.vendors.listReferrals('vnd_xxx')
```

---

### createReferral

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

```typescript
const referral = await zenpays.vendors.createReferral('vnd_xxx', {
  referredMerchantId: 'mer_xxx',
  referralCode: 'ACME2024',
})
```

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

```python
referral = zenpays.vendors.create_referral("vnd_xxx", {
    "referredMerchantId": "mer_xxx",
    "referralCode": "ACME2024",
})
```

  </TabItem>
</Tabs>

---

## Payouts & Analytics

### processPayout

```typescript
const payout = await zenpays.vendors.processPayout('vnd_xxx', {
  amount: 5000,
  currency: 'INR',
})
```

---

### getAnalytics

```typescript
const analytics = await zenpays.vendors.getAnalytics('vnd_xxx')
```
