Skip to main content

Merchants

Manage merchant profile, settings, API keys, webhooks, bank accounts, and IP whitelist. Access via zenpays.merchants.

Profile & Settings

getProfile

const profile = await zenpays.merchants.getProfile()

updateSettings

const settings = await zenpays.merchants.updateSettings({
timezone: 'Asia/Kolkata',
currency: 'INR',
notifications: { emailNotifications: true },
})

getLimits

const limits = await zenpays.merchants.getLimits()

requestLimitIncrease

const result = await zenpays.merchants.requestLimitIncrease({
type: 'daily_payin',
requestedLimit: 50000000,
reason: 'Scaling business volume',
})
// Returns: { requestId, status }

API Keys

listApiKeys

const keys = await zenpays.merchants.listApiKeys()

createApiKey

const { apiKey, apiSecret } = await zenpays.merchants.createApiKey({
description: 'Production key',
environment: 'live',
})

revokeApiKey

await zenpays.merchants.revokeApiKey('key_xxx')

Webhooks

listWebhooks

const webhooks = await zenpays.merchants.listWebhooks()

createWebhook

const webhook = await zenpays.merchants.createWebhook({
url: 'https://yoursite.com/webhooks/zenpays',
events: ['payment.success', 'payment.failed', 'refund.created'],
})

updateWebhook

const updated = await zenpays.merchants.updateWebhook('wh_xxx', {
events: ['payment.success'],
})

deleteWebhook

await zenpays.merchants.deleteWebhook('wh_xxx')

testWebhook

const result = await zenpays.merchants.testWebhook('wh_xxx', 'payment.success')
// Returns: { success, statusCode?, error? }

getWebhookLogs

const logs = await zenpays.merchants.getWebhookLogs('wh_xxx', {
from: '2024-01-01',
to: '2024-12-31',
limit: 50,
})

Bank Accounts

listBankAccounts

const accounts = await zenpays.merchants.listBankAccounts()

addBankAccount

const account = await zenpays.merchants.addBankAccount({
accountNumber: '1234567890',
ifscCode: 'HDFC0001234',
accountHolderName: 'Business Pvt Ltd',
bankName: 'HDFC Bank',
})

deleteBankAccount

await zenpays.merchants.deleteBankAccount('ba_xxx')

setDefaultBankAccount

const account = await zenpays.merchants.setDefaultBankAccount('ba_xxx')

IP Whitelist

listWhitelistedIPs

const ips = await zenpays.merchants.listWhitelistedIPs()

addIPToWhitelist

const entry = await zenpays.merchants.addIPToWhitelist('203.0.113.50', 'Production server')

removeIPFromWhitelist

await zenpays.merchants.removeIPFromWhitelist('ip_xxx')