Payments (Razorpay & Cashfree)
thola uses two payment gateways for billing customers and (optionally) for taking customer payments through your business:
- Cashfree — default for new workspaces
- Razorpay — supported, switchable
You can use one or the other. Most workspaces never need to think about this; the default works.
Two different things to pay for
There are two distinct payment flows to keep straight:
1. You paying thola
Your monthly subscription, top-ups, and any add-on charges go through one of the two gateways. Configured under Profile → Plan → Payment methods.
2. Your customers paying you
If you raise invoices through thola and want to accept payment links inside those invoices, thola can act as your gateway provider too. Configured under Settings → Workspace → Customer payments.
These are independent. You can pay thola via card while taking customer payments via UPI through Cashfree.
Setting up customer payments
If you want to take customer payments via invoice links:
- Settings → Workspace → Customer payments
- Choose Cashfree or Razorpay
- Connect your existing account, or create a new one through the in-app flow
- Set a default payout account (your bank)
- Test the connection — thola issues a ₹1 payment to itself to verify
When customers receive an invoice from thola, they get a link. Clicking it opens a hosted checkout page (in your business's branding). The customer pays; the money goes to your account; thola updates the invoice status.
Webhooks
Both gateways send webhook events back to thola when a payment happens. thola validates each webhook by signature before acting:
payment.captured— invoice marked paid, customer's record updated, Sales agent notifiedpayment.failed— invoice unchanged, customer record gets a "payment attempt failed" noterefund.processed— invoice marked as refunded, Finance reconciles
You don't configure webhooks yourself — the in-app gateway connect flow registers them with the correct signing secrets.
Refunds
To refund a customer:
- Open the invoice
- Tap Refund
- Choose full or partial
- Confirm
thola issues the refund through the same gateway the original payment went through. Refunds settle in 5–7 business days, sometimes faster.
Refunds are logged in the audit log with the user who issued them and the amount.
Switching gateways
To switch from Cashfree to Razorpay (or vice versa):
- Settings → Workspace → Customer payments
- Tap Change gateway
- Connect the new gateway
- Choose whether to migrate future invoices only, or existing pending invoices too
Existing paid invoices are not migrated — they stay tagged with the original gateway for audit consistency.
Multi-currency
Both gateways support INR primarily; both also support international transactions:
- Cashfree — INR, USD, EUR (limited)
- Razorpay — INR, USD, GBP, EUR
For multi-currency, your gateway account needs to be a multi-currency account. We support routing per-currency: USD invoices through one gateway, INR through another.
GST on payments
Customer payments are recorded with the original invoice's GST treatment. The gateway fee charged to you (typically 1–3% per transaction) is recorded as a separate expense and categorised automatically.
Common questions
Can I use a gateway thola doesn't support directly? You can record payments manually — mark an invoice paid with the date, amount, and reference. The link / reconciliation is your responsibility, but thola accepts it.
Will thola show me my gateway dashboard inside thola? No — Cashfree and Razorpay have their own dashboards which are richer than anything we'd embed. We provide deep-links into them from invoice details.
What about UPI? Both gateways support UPI as a payment method. There's no separate "UPI" integration to enable — it's available on both, automatically.
→ Next: Troubleshooting