Merchants API
Manage merchant profile, settings, API keys, and webhooks.
Profile & Settings
getProfile
const profile = await zenpays.merchants.getProfile()
updateSettings
await zenpays.merchants.updateSettings({
webhookUrl: 'https://example.com/webhooks',
autoSettlement: true,
})
getLimits
const limits = await zenpays.merchants.getLimits()
API Keys
listApiKeys
const keys = await zenpays.merchants.listApiKeys()
createApiKey
const key = await zenpays.merchants.createApiKey({
name: 'Production Key',
environment: 'production',
})
// Store key.key securely - shown only once!
revokeApiKey
await zenpays.merchants.revokeApiKey('key_xxx')
Webhooks
listWebhooks
const webhooks = await zenpays.merchants.listWebhooks()
createWebhook
const webhook = await zenpays.merchants.createWebhook({
url: 'https://example.com/webhooks',
events: ['payment.intent.succeeded', 'refund.completed'],
})
updateWebhook
await zenpays.merchants.updateWebhook('wh_xxx', {
events: ['payment.intent.succeeded'],
})
deleteWebhook
await zenpays.merchants.deleteWebhook('wh_xxx')
testWebhook
const result = await zenpays.merchants.testWebhook('wh_xxx', 'payment.intent.succeeded')
Bank Accounts
listBankAccounts
const accounts = await zenpays.merchants.listBankAccounts()
addBankAccount
const account = await zenpays.merchants.addBankAccount({
bankName: 'Chase',
accountName: 'Acme Inc',
accountNumber: '123456789',
accountType: 'checking',
routingNumber: '021000021',
currency: 'USD',
})
IP Whitelist
listWhitelistedIPs
const ips = await zenpays.merchants.listWhitelistedIPs()
addIPToWhitelist
await zenpays.merchants.addIPToWhitelist('192.168.1.1', 'Office IP')
removeIPFromWhitelist
await zenpays.merchants.removeIPFromWhitelist('ip_xxx')