Payment Gateway Setup
Overview
Connect a payment gateway to ZenTraq to accept online payments for invoices. Money goes directly to your bank account — ZenTraq just tracks the transactions.
Supported Gateways
| Gateway | Region | Features |
|---|---|---|
| Razorpay | India | UPI, Cards, NetBanking, Wallets |
| Stripe | Global | Cards, Bank transfer, Wallets |
| PayPal | Global | PayPal balance, Cards |
Razorpay Setup
Prerequisites
- Razorpay account at razorpay.com
- Business KYC verified on Razorpay
- Bank account linked and verified
Configuration
- Go to Settings → Payment Gateway
- Select Razorpay
- Enter:
- Key ID — From Razorpay Dashboard → Settings → API Keys
- Key Secret — Generated with the Key ID
- Webhook Secret — For payment notifications (optional)
- Click Test Connection
- If successful → Save
Getting API Keys from Razorpay
- Log in to dashboard.razorpay.com
- Go to Settings → API Keys
- Click Generate Key
- Copy both Key ID (starts with
rzp_live_orrzp_test_) - Copy Key Secret (shown only once — save it!)
Test vs Live Mode
- Test Mode: Use
rzp_test_keys for testing (no real money) - Live Mode: Use
rzp_live_keys for real payments - Switch in Settings → Payment Gateway → Mode toggle
How Payments Work
Customer Flow
- You create and send an invoice
- Invoice includes a Pay Online button/link
- Customer clicks → Razorpay payment page opens
- Customer pays via UPI/Card/NetBanking
- Payment confirmed → Invoice auto-marks as "Paid"
- You and customer receive confirmation
Payment Methods Available (via Razorpay)
- UPI (GPay, PhonePe, Paytm)
- Credit/Debit Cards (Visa, Mastercard, RuPay)
- Net Banking (all major banks)
- Wallets (Paytm, MobiKwik, FreeCharge)
- EMI (on cards above ₹3,000)
Payment Link
For each invoice, ZenTraq generates a payment link:
- Shareable via Email or WhatsApp
- Customer can pay without logging into any portal
- Link expires based on invoice due date
- Partial payment support (pay in installments)
Payment Tracking
In ZenTraq
Every payment shows:
- Amount paid
- Payment method used
- Transaction ID (from gateway)
- Date and time
- Status (Success, Failed, Pending)
On the Invoice
- Payment Status: Unpaid → Partially Paid → Paid
- Amount Paid / Balance Due auto-calculated
- Payment history tab shows all transactions
Automatic Updates
When a payment is received:
- Invoice status changes automatically
- Notification sent to invoice creator
- Activity logged on the customer timeline
- Dashboard revenue updates in real-time
Refunds
Initiating a Refund
- Open the paid invoice → Click Refund
- Enter:
- Refund amount (full or partial)
- Reason for refund
- Confirm → Refund processed via Razorpay
- Invoice status updates to "Refunded" or "Partially Refunded"
Refund Timeline
- UPI refunds: Instant to 3 business days
- Card refunds: 5-7 business days
- Net Banking: 5-10 business days
Webhook Configuration (Auto-Updates)
For automatic payment status updates:
- In Razorpay Dashboard → Settings → Webhooks
- Add webhook:
- URL:
https://your-api-domain.com/api/payments/webhook/razorpay - Secret: Enter the webhook secret from ZenTraq settings
- Events: Select:
- ✅
payment.captured - ✅
payment.failed - ✅
refund.processed
- ✅
- URL:
- Save
Settlement & Payout
How Settlement Works
- Razorpay settles funds to your bank account
- Default: T+2 business days (received 2 days after payment)
- Can be configured: T+1 or same-day (on eligible plans)
- All money goes to YOUR bank account, not ZenTraq
Commission/Platform Fees
- Razorpay charges per transaction (typically 2%)
- ZenTraq does NOT take any cut from payments
- Gateway fees are between you and Razorpay
Security
PCI Compliance
- ZenTraq never stores card numbers
- Payment processed entirely on Razorpay's PCI-DSS compliant platform
- Only transaction reference IDs stored in CRM
- Customer card details never pass through your server
Secure Links
- Payment links use HTTPS encryption
- Links are unique per invoice (can't be reused)
- Expired links cannot be used for payment
- Tamper-proof amount (customer can't modify payment amount)
Troubleshooting
"Invalid API Key"
- Check if using Test key vs Live key
- Regenerate keys in Razorpay dashboard
- Ensure no extra spaces when pasting
"Payment Not Reflecting in CRM"
- Check webhook configuration
- Verify webhook URL is accessible from internet
- Check webhook secret matches
- Look for failed webhook deliveries in Razorpay dashboard
"Customer Can't Pay"
- Check if invoice has a valid payment link
- Verify Razorpay account is active (not suspended)
- Check if live mode keys are being used (not test)
- Ensure the amount is within Razorpay's limits
Tips
- Start with Test Mode — Verify everything works before going live
- Set up webhooks — For automatic payment status updates
- Use payment links — Easier for customers than manual bank transfer
- Share via WhatsApp — Higher open/pay rate than email
- Track partial payments — Allow installments for large invoices
- Send reminders — Auto-remind for overdue invoices with payment link
