niblr

Accept Payments (Stripe & Razorpay)

Connect your own Stripe or Razorpay account to take payments on your Niblr store. Bring-your-own-keys — payouts go straight to you, and Niblr never holds your funds.

Niblr is bring-your-own-keys: you connect your own Stripe or Razorpay account, so customers pay you directly and payouts land in your account on your provider's schedule. Niblr never touches the money. This guide connects a provider end to end — in test mode first, then live.

You'll do this in the admin under Store setup → Payments (/admin/settings/payments). Each provider has its own card with fields, an Environment toggle (Test / Live), a Test connection button, and an Enable checkbox.

How do I connect Stripe?

  1. Get your keys from Stripe. In the Stripe Dashboard, toggle Test mode (top right), then go to Developers → API keys. Copy your Secret key (sk_test_…, or a restricted key rk_test_… — restricted is safer). The publishable key is optional.
  2. Enter them in Niblr. In Store setup → Payments → Stripe, set Environment to Test, paste the secret key, and Save. Secrets are encrypted at rest and masked after saving.
  3. Register the webhook. Copy the Webhook URL shown on the card — it looks like https://<your-store>.niblr.store/api/webhooks/stripe/<your-store>. In Stripe, go to Developers → Webhooks → Add endpoint, paste that URL, and select the events checkout.session.completed and checkout.session.async_payment_succeeded. Copy the endpoint's Signing secret (whsec_…) back into the Webhook signing secret field in Niblr, and Save.
  4. Test and enable. Click Test connection (Niblr does a read-only check against Stripe). When it passes, check Enable and Save — Niblr won't let you enable a provider with missing credentials.

The webhook is how Niblr knows an order was paid — the browser redirect after checkout is never trusted on its own. If the webhook isn't registered, orders won't be marked paid.

How do I go live?

Switch Environment to Live, paste your live keys (sk_live_… / rk_live_…) and the live webhook signing secret (create a separate live-mode webhook endpoint in Stripe), keep Enable checked, Save, then Test connection again. Niblr rejects a mismatched key/environment (e.g. a sk_test_ key with Live selected).

How do I connect Razorpay?

Same Store setup → Payments view, the Razorpay card:

  1. In the Razorpay DashboardSettings → API Keys, generate keys. Copy the Key ID (rzp_test_…) and Key Secret.
  2. In Niblr, paste the Key ID and Key secret.
  3. Register the webhook at Razorpay → Settings → Webhooks using the Webhook URL shown on the card (…/api/webhooks/razorpay/<your-store>), subscribe to the payment_link.paid event, set a webhook secret, and paste that same secret into Niblr's Webhook secret field.
  4. Test connection, then Enable.

Turn on Auto-Capture in Razorpay (Settings → Payment Capture). If it's off, payments are only authorized and auto-refund — orders won't be fulfilled.

Managing your keys

  • Secret fields show •••••••• after saving. Leave a secret blank to keep the current value — you can change a non-secret setting without re-entering keys.
  • Paste a new value to rotate a key.
  • A provider is only offered at checkout once it's enabled with valid credentials. Start in Test, place a test order, then switch to Live.

Next: connect a custom domain so checkout runs on your own URL.