Account Setup
Creating and configuring your ZenPay account to start accepting cryptocurrency payments.
Creating Your ZenPay Account
Before you can start accepting cryptocurrency payments, you need to create and set up your ZenPay account. This guide will walk you through the process step by step.
Sign Up
Visit the ZenPay registration page and create your account by providing your email address and setting a secure password.
Verify Your Email
Check your inbox for a verification email from ZenPay and click the link to verify your email address. If you don't see the email, check your spam folder.
Complete Your Profile
Fill in your business details, including company name, business type, and contact information. This information helps us tailor your ZenPay experience.
Set Up Two-Factor Authentication
Enhance your account security by enabling two-factor authentication (2FA). We recommend using an authenticator app like Google Authenticator or Authy.
Identity Verification (KYC)
To comply with regulations and ensure the security of our platform, we require identity verification for all merchants. This process, known as Know Your Customer (KYC), helps prevent fraud and ensures compliance with legal requirements.
Individual Verification
- Valid government-issued photo ID (passport, driver's license)
- Proof of address (utility bill, bank statement)
- Selfie with your ID document
Business Verification
- Business registration documents
- Company address verification
- Identity verification for authorized representatives
Verification Time
Individual verification typically takes 1-2 business days, while business verification may take 3-5 business days. You'll receive email notifications about the status of your verification process.
Connecting Payment Methods
After your account is verified, you need to set up your preferred payment methods for receiving funds.
Bank Account
Connect your bank account to receive fiat currency payouts. We support bank accounts in 40+ countries.
- Navigate to Bank Accounts: Go to Settings → Payment Methods → Bank Accounts.
- Add a New Account: Click "Add Bank Account" and follow the prompts to enter your banking details.
- Verify Your Account: Complete any verification steps required by your region (may include micro-deposits or online banking verification).
- Set as Default (Optional): If you have multiple accounts, you can set one as your default settlement account.
Crypto Wallet
Add your cryptocurrency wallet addresses to receive payments directly in crypto.
- Navigate to Crypto Wallets: Go to Settings → Payment Methods → Crypto Wallets.
- Add a New Wallet: Click "Add Wallet" and select the cryptocurrency you want to receive.
- Enter Wallet Address: Provide your wallet address and a label (e.g., "BTC Settlement Wallet").
- Verify Ownership: Complete the verification process by signing a message with your wallet.
- Set Preferences: Choose whether to auto-settle to this wallet and set any thresholds.
Setting Up Your API Keys
If you plan to integrate ZenPay with your website or application, you'll need to set up your API keys.
// Navigate to Settings → API Keys in your ZenPay dashboard
// Click "Generate New Key" and provide a descriptive name
// Store your API keys securely - they give access to your account!
// Example API key pair:
// Public key: pk_test_ZenPay123456789DEMO
// Secret key: sk_test_ZenPay987654321DEMO
Security Best Practices
- Never share your secret API key publicly or commit it to version control systems.
- Use environment variables to store API keys in your code.
- Rotate your API keys periodically for enhanced security.
Configuring Webhooks
Webhooks allow your application to receive real-time notifications about events like successful payments or refunds.
Setting Up Webhooks
- Navigate to Webhooks: Go to Developer → Webhooks.
- Add Endpoint: Click "Add Endpoint" to create a new webhook destination.
- Configure Events: Select which events you want to be notified about (e.g., payment.completed, payment.failed).
- Set Secret: Create a webhook secret to verify the authenticity of the webhook notifications.
// Example webhook endpoint in Node.js with Express
const express = require('express');
const app = express();
const crypto = require('crypto');
// Your webhook secret from ZenPay dashboard
const webhookSecret = 'whsec_1234567890abcdef';
app.post('/webhooks/zenpay', express.raw({type: 'application/json'}), (req, res) => {
const signature = req.headers['zenpay-signature'];
// Verify webhook signature
const hmac = crypto.createHmac('sha256', webhookSecret);
const digest = hmac.update(req.body).digest('hex');
if (signature === digest) {
const event = JSON.parse(req.body);
// Handle different event types
switch (event.type) {
case 'payment.succeeded':
// Handle successful payment
console.log('Payment succeeded:', event.data.id);
break;
case 'payment.failed':
// Handle failed payment
console.log('Payment failed:', event.data.id);
break;
// Handle other event types
}
res.status(200).send('Webhook received');
} else {
res.status(403).send('Invalid signature');
}
});
app.listen(3000, () => console.log('Webhook server running'));
Next steps
Now that your account is set up, you're ready to start accepting your first cryptocurrency payment: