Skip to main content

Security

Manage two-factor authentication, security events, and KYC documents. Access via zenpays.security.

Two-Factor Authentication

setup2FA

const setup = await zenpays.security.setup2FA()
// Returns: { secret, qrCodeUrl, backupCodes }

enable2FA

Enable 2FA after scanning the QR code.

const result = await zenpays.security.enable2FA('123456') // TOTP code
// Returns: { enabled: boolean }

verify2FA

const result = await zenpays.security.verify2FA({ code: '123456', type: 'totp' })
// Returns: { verified: boolean }

disable2FA

await zenpays.security.disable2FA('123456') // current TOTP code to confirm

is2FAEnabled

const status = await zenpays.security.is2FAEnabled()
// Returns: { enabled: boolean, setupAt?: string }

regenerateBackupCodes

const result = await zenpays.security.regenerateBackupCodes()
// Returns: { backupCodes: string[] }

Security Events

listSecurityEvents

const { data } = await zenpays.security.listSecurityEvents({
severity: 'high',
from: '2024-01-01',
limit: 50,
})

getSecurityEvent

const event = await zenpays.security.getSecurityEvent('sec_xxx')

KYC Documents

getKycStatus

const status = await zenpays.security.getKycStatus()

uploadKycDocument

const doc = await zenpays.security.uploadKycDocument({
type: 'identity_proof',
file: fileBlob,
description: 'Passport front page',
})

getKycDocument

const doc = await zenpays.security.getKycDocument('kyc_xxx')

downloadKycDocument

const downloadUrl = await zenpays.security.downloadKycDocument('kyc_xxx')

deleteKycDocument

await zenpays.security.deleteKycDocument('kyc_xxx')