Skip to content

Connect Your Razorpay Account

Atlas collects guest payments straight into your own Razorpay account — Atlas never holds your money. To turn this on you do two things: give Atlas your Razorpay API keys, and give Razorpay a webhook so it can tell Atlas when a payment actually went through.

The webhook step has one part that confuses almost everyone the first time: the webhook secret. This guide walks through both parts in order, and calls that part out clearly so you don’t get stuck.

  • You need your own Razorpay account. razorpay.com if you don’t have one yet.
  • You need to be logged in to your Atlas host portal at app.atlaspms.in.
  • Do this on a laptop or desktop — you’ll be copying values between two browser tabs (Razorpay and Atlas), which is awkward on a phone.
  1. Log in to your Razorpay Dashboard.
  2. Use the mode switch at the top of the Dashboard to pick Test Mode or Live Mode (see Test vs Live mode below if you’re not sure which).
  3. Go to Account & Settings, then click API Keys under “Website and app settings”.
  4. Click Generate Key.
  5. Razorpay shows you a Key Id and a Key Secret. Copy both somewhere safe right now — Razorpay shows the Key Secret only once. After you close this screen, Razorpay will never show it to you again; if you lose it, your only option is to regenerate a new one (see Troubleshooting below).

Warning: If you ever click “Regenerate” on a key, the old Key Secret stops working — anywhere it’s used, including inside Atlas. Only regenerate if you have to, and be ready to immediately update it in Atlas afterwards.

  1. In Atlas, go to Settings → Payments.
  2. Make sure the Razorpay tab is selected (Atlas also offers UPI/QR and manual payment options here, but this guide covers Razorpay).
  3. You’ll see two cards: Live Mode and Test Mode. Use the card that matches the keys you just generated.
  4. Paste your Razorpay key into the Key ID field, and the secret into the Key Secret field.
  5. Click Save keys.

Don’t click Verify connection yet — do that after Step 4, once the webhook secret is also in place. On the Live Mode card you’ll notice a line that says “Webhook secret: Not set — required to activate this slot”. That’s expected at this point; it’s what Step 3 and Step 4 fix.

Still on that same card in Settings → Payments, find the Webhook URL field. It’s read-only, with a copy icon next to it.

Click the copy icon to copy it. Always copy this value from Atlas — never type it by hand. You’ll paste it into Razorpay in the next step.

Step 4: Create the webhook in Razorpay — and make up the webhook secret

Section titled “Step 4: Create the webhook in Razorpay — and make up the webhook secret”

This is the step that confuses hosts. Here’s the key idea before you touch anything:

The webhook secret is not something Razorpay gives you. It is a password you invent. You will type the exact same password into two places — Razorpay’s webhook “Secret” box, and Atlas’s “Webhook Secret” field. If the two don’t match, Razorpay will send Atlas payment updates that Atlas can’t trust, and your bookings will stop confirming automatically.

Now set it up:

  1. Make up a strong secret first, before you go to Razorpay. Use a password manager’s password generator to create a long, random string (20+ characters is plenty) — don’t reuse a password you use anywhere else, and don’t use anything guessable like your property name or phone number. Copy it somewhere you can paste it twice.
  2. In your Razorpay Dashboard, go to Account & Settings, then click Webhooks under “Website and app settings”.
  3. Click + Add New Webhook.
  4. In the Webhook URL field, paste the URL you copied from Atlas in Step 3.
  5. In the Secret field, paste the random secret you generated in step 1 of this section.
  6. Under Active Events, tick these events (and only these — Atlas doesn’t act on any others):
    • payment.captured
    • payment.authorized
    • refund.processed
    • refund.failed
  7. In Alert Email, enter an email address you actually check — Razorpay emails you here if this webhook starts failing.
  8. Click Create Webhook.
  1. Back in Atlas, on the same Settings → Payments → Razorpay card (Live Mode or Test Mode, whichever you’re setting up), paste the exact same secret you just typed into Razorpay into the Webhook Secret field.
  2. Double-check it’s identical — no extra space at the start or end is a common mistake when pasting.
  3. Click Save keys.
  4. Click Verify connection.

If everything matches, the card’s status chip changes to Active. If you’re setting up Test Mode, the webhook secret isn’t required to activate that slot, but we still recommend setting one for test mode too, since it’s what lets Atlas confirm test payments automatically the same way it will for real ones.

  • Never share your webhook secret with a guest, a co-host, or anyone over chat, WhatsApp, or email. Treat it like a password, because that’s exactly what it is.
  • If you ever suspect it’s been seen by someone it shouldn’t have, generate a new random one, update it in both Razorpay’s webhook Secret field and Atlas’s Webhook Secret field, and save both sides again.
  1. In Atlas, go to Settings → Payments → Razorpay. The card for the mode you configured (Live Mode or Test Mode) should show status Active.
  2. Open your public booking page and confirm it’s ready to take a booking, rather than showing “Bookings opening soon” (that message means Razorpay isn’t connected).
  3. Make a real booking (or a Test Mode one, if you’re still testing) and pay for it. Once the payment goes through, check Bookings in Atlas — the booking should show as confirmed and paid without you having to do anything manually.

Test mode vs Live mode — which do I use?

Section titled “Test mode vs Live mode — which do I use?”
  • Test Mode keys let you try the whole flow — connecting Atlas, creating the webhook, making a booking — without moving real money. Use these first if you want to see how it works before going live.
  • Live Mode keys are what actually take real guest payments. Set these up the same way, in the Live Mode card, once you’re ready for guests to pay.
  • Test and Live are configured independently in Atlas (separate cards, separate Razorpay keys, separate webhook secrets) — connecting one doesn’t connect the other.

Status won’t turn Active / “Keys verified, but this slot is not yet active” This means Atlas could confirm your Key ID and Key Secret against Razorpay, but something else is missing before the slot can go live — almost always a missing or not-yet-saved Webhook Secret on the Live Mode card. Go back to Step 5 and make sure the Webhook Secret field is filled in and saved.

A guest’s payment isn’t confirming automatically in Atlas This is almost always a webhook secret mismatch — the Secret you typed in Razorpay’s webhook doesn’t exactly match the Webhook Secret saved in Atlas. Go to Razorpay’s webhook settings, and Atlas’s Settings → Payments → Razorpay card, and compare carefully (watch for extra spaces from copy-pasting). Re-type both if in doubt — you don’t have to keep the old one, since you chose it yourself.

Payments work in testing but not for real guests (or vice versa) Check you haven’t mixed up Test Mode and Live Mode keys — for example, pasting a Key ID that starts with rzp_test_ into the Live Mode card, or the other way round. Each mode’s keys only work with that mode’s webhook.

Bookings aren’t confirming, and you can’t tell why Check that all four events are ticked in your Razorpay webhook: payment.captured, payment.authorized, refund.processed, refund.failed. If one is missing — most often after someone edits the webhook later and forgets to re-tick everything — Razorpay simply won’t tell Atlas about that kind of event.

You regenerated your Razorpay Key Secret Regenerating invalidates the old Key Secret everywhere it was used, including Atlas. Go to Settings → Payments → Razorpay in Atlas, update the Key Secret field with the new one, save, and click Verify connection again. Your webhook and its secret are unaffected by a key regeneration — you don’t need to touch Step 4 unless you’re changing the webhook itself.

Still stuck? Contact Atlas support — see Troubleshooting: Reaching Atlas support.