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')