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'