Skip to main content

Payouts API

The Payouts API allows you to send money to customers and vendors.

Methods

getMethods

Get available payout methods.

const methods = await zenpays.payouts.getMethods()

create

Create a payout.

const payout = await zenpays.payouts.create({
customerId: 'cust_xxx',
amount: 10000,
currency: 'USD',
payoutMethod: 'bank_transfer',
beneficiaryDetails: {
name: 'John Doe',
bankName: 'Chase Bank',
accountNumber: '123456789',
routingNumber: '021000021',
},
})

get

Get a payout by ID.

const payout = await zenpays.payouts.get('pay_xxx')

list

List payouts with filters.

const { data } = await zenpays.payouts.list({
status: 'completed',
limit: 50,
})

listByCustomer

List payouts for a specific customer.

const { data } = await zenpays.payouts.listByCustomer('cust_xxx')

retry

Retry a failed payout.

const payout = await zenpays.payouts.retry('pay_xxx')

getAnalytics

Get payout analytics.

const analytics = await zenpays.payouts.getAnalytics('30d')

Types

Payout

interface Payout {
id: string
merchantId: string
customerId?: string
amount: number
currency: string
status: PayoutStatus
payoutMethod: string
beneficiaryDetails: BeneficiaryDetails
processedAt?: string
createdAt: string
}

PayoutStatus

type PayoutStatus
= | 'pending'
| 'processing'
| 'completed'
| 'failed'
| 'cancelled'