Home / Help Center / pos-app / Online Channels / Integrations
🔌 Online Channels

Integrations

Integrations is BazaarPOS's central connection hub — one screen with eleven categories covering payments, e-commerce, social & search shopping, marketplaces, accounting, logistics, CRM, communication, reviews, restaurant delivery apps, procurement and hardware/compliance, where you plug in every outside service your shop uses.

📍 Menu path: Online Channels → Integrations
👤 Who uses it: All roles with Online Channels menu access (requires Advanced plan tier or above) — the page itself does not further restrict which staff can connect/disconnect a service

Overview

The page is organised as a left-hand list of eleven categories (Payment Integrations, E-commerce Platforms, Social & Search Shopping, Marketplace Integrations, Accounting Integrations, Logistics & Shipping, CRM & Loyalty, Communication, Reviews & Reputation, Restaurant Integrations, Inventory & Procurement, Hardware & Compliance) with a card grid of individual services on the right; a search box replaces the category list and searches every service by name/description at once.

Every service card shows a status badge — Not Connected, Connected, Disabled (a payment gateway that has saved credentials but is currently switched off from the billing screen), or Coming Soon for services BazaarPOS has not built yet — plus a live green pulsing dot on any card that is connected.

Clicking Connect (or Configure once already connected) opens a modal with that service's exact fields — Merchant ID, API Key, Secret, etc. — pulled from BazaarPOS's built-in catalogue for that specific provider, along with a help note and a link to that provider's own dashboard/docs page.

Six of the payment gateways — PhonePe, Razorpay, Paytm, Cashfree, Stripe and Square — are tagged 🧾 POS Billing: connecting one of these immediately makes it available as a payment method on the Sales/billing screen, and each has its own Enable/Disable toggle on the card so you can temporarily hide it from billing without deleting the saved credentials.

Marketplace integrations that support it (Flipkart, Amazon, Meesho, Myntra, ONDC) offer a Test Mode switch inside the connect modal — turning it on skips credential validation entirely and lets you try the whole Online Orders workflow with 10 fake Indian orders before you have real seller credentials.

Before You Start

Step-by-Step Guide

1 Find and connect a service

  1. Click a category in the left list (or type into the search box at the top, which searches every category's services by name and description at once and hides the category list while you search).
  2. Click Connect on the service's card to open its form.
  3. Fill in the required fields (marked with a red *) — click the eye icon next to any password-style field to reveal what you typed before saving.
  4. Read the blue help box for provider-specific instructions and click Docs to jump to that provider's own credential page in a new tab.
  5. Click Connect in the modal footer. A success toast confirms the connection and the card's badge switches to Connected with a pulsing green dot.

2 Connect a payment gateway for POS billing

PhonePe, Razorpay, Paytm, Cashfree, Stripe and Square are the six providers wired straight into the billing screen.

  1. Open the Payment Integrations category and click Connect on the gateway you use.
  2. A green banner in the modal confirms this specific service will appear as a payment option on the POS billing screen once connected.
  3. Enter the gateway's credentials (e.g. Razorpay Key ID + Key Secret + your store's UPI/Merchant VPA for QR fallback) and save.
  4. Back on the card, use the small pill toggle next to Configure to Enable or Disable the gateway for billing at any time without losing the saved credentials — Disabled shows an amber badge instead of green.
  5. Click the red ✕ button on a connected card to fully disconnect and remove the saved credentials.

3 Try a marketplace in Test Mode before going live

  1. Open Marketplace Integrations and click Connect on Flipkart, Amazon, Meesho, Myntra or ONDC.
  2. Toggle on Test Mode at the top of the form — the credential fields become optional and a violet notice explains that Sync Now will pull 10 fake Indian orders.
  3. Click Connect — the card shows a violet 🧪 Test tag alongside Connected.
  4. Go to the Online Orders page to see the fake orders flow through the same Sync/Pack/Dispatch/Convert workflow as a real connection, then come back here and turn Test Mode off and enter real seller credentials once you are ready to go live.

4 Sync Google reviews into BazaarPOS

  1. Open Reviews & Reputation and click Connect on Google Business.
  2. Find your Google Place ID (Google Maps → your business → Share → the place_id= value in the link) and generate a Places API key in Google Cloud Console, then paste both into the form.
  3. Save — the card gains a 🔄 sync button.
  4. Click the sync button any time to pull newly posted Google reviews; a toast reports how many new reviews were found, or confirms everything is already up to date.

5 Set up the restaurant delivery webhook

This panel only appears when the Restaurant Integrations category is selected.

  1. Open the Restaurant Integrations category — a Generic Delivery Webhook panel appears below the Swiggy/Zomato/ONDC/Dunzo cards.
  2. Copy the webhook URL shown (it embeds a per-store secret token) and register it with Swiggy, Zomato or any delivery platform's webhook settings.
  3. Incoming orders posted to that URL (with platform, customerName, customerPhone, deliveryAddress, items[] and total) appear automatically in your delivery queue.
  4. If the URL leaks or you switch delivery partners, click Regenerate — this immediately invalidates the old URL, so update it with every platform you had registered it on.

Every Field & Button, Explained

Field / ButtonWhat it does
Category list (left rail)Eleven groups — Payment, E-commerce, Social & Search Shopping, Marketplace, Accounting, Logistics & Shipping, CRM & Loyalty, Communication, Reviews & Reputation, Restaurant, Inventory & Procurement, Hardware & Compliance — each showing a connected-count badge.
Search boxSearches every service across all categories by name or description; replaces the category list with a flat result grid while text is typed.
X Connected badgeHeader counter of how many services are currently connected across all categories.
Connect / Configure buttonOpens the credential form for a service — labelled Connect the first time, Configure once a connection already exists.
Status badgeNot Connected, Connected (green, pulsing dot), Disabled (amber — gateway has credentials but is switched off from billing), or Coming Soon (service not yet built).
Enable / Disable pill toggleAppears only on connected payment-gateway cards (PhonePe, Razorpay, Paytm, Cashfree, Stripe, Square); flips whether that gateway shows as a payment option on the billing screen without deleting its credentials.
🧾 POS Billing tagMarks the six gateway integrations that plug directly into the Sales/billing payment method list once connected.
🔄 Sync buttonShown only on Google Business (reviews); pulls newly posted reviews into your review dashboard on demand.
Disconnect (✕) buttonRemoves a saved connection/credentials entirely; for gateways this also removes it from the billing payment method list.
Connect modal — Test Mode toggleAvailable on marketplaces that support it (Flipkart, Amazon, Meesho, Myntra, ONDC); skips credential validation and connects with mock data for a 10-order test sync.
Connect modal — field eye iconToggles a secret field (API key, password, token) between hidden dots and plain text so you can proofread what you pasted.
Connect modal — Docs linkOpens that provider's own credential/API documentation page in a new tab.
Generic Delivery Webhook URL boxOnly shown under Restaurant Integrations; a copyable, per-store secret URL to register with Swiggy/Zomato/any delivery platform so their orders land in your delivery queue automatically.
Regenerate (webhook)Issues a brand-new webhook token/URL and immediately invalidates the previous one — update every delivery platform you had registered with the old URL.

Tips & Best Practices

Troubleshooting & FAQ

I clicked Connect but got "Fill in: …" and nothing saved.
Every field marked with a red * is required (unless Test Mode is on for a marketplace that supports it). The toast lists exactly which labelled fields are still empty.
A service shows "Coming Soon" and Connect does nothing useful.
That integration is in BazaarPOS's catalogue but not yet built (e.g. PayU, BharatPe, Magento, OpenCart, Blue Dart, DTDC). Its card is informational only until BazaarPOS ships it.
My gateway shows "Disabled" instead of "Connected" or "Not Connected".
Disabled means credentials are saved but the gateway is switched off from the billing screen. Click the pill toggle on the card to turn it back on — you do not need to re-enter credentials.
Where do I get real credentials for a specific provider?
Every card's Connect modal shows a blue help note plus a Docs link straight to that provider's own dashboard or developer portal (e.g. Razorpay Dashboard → Settings → API Keys, Flipkart Seller Hub → Settings → API).
I regenerated my restaurant webhook token and orders stopped arriving.
Regenerating invalidates the old URL immediately. Copy the new URL and update it in every delivery platform (Swiggy, Zomato, etc.) where the old one was registered.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/IntegrationPage.jsx

Backend endpoints used:

  • GET /integrations
  • PUT /integrations/:id
  • DELETE /integrations/:id
  • POST /integrations/:id/sync
  • GET /integrations/webhook-token
  • POST /integrations/webhook-token/regenerate
  • GET /payment-gateways
  • POST /payment-gateways/:provider/connect
  • PATCH /payment-gateways/:provider/toggle
  • DELETE /payment-gateways/:provider

Related tables (db-core repositories):

  • Integration
  • PaymentGateway

Redux slices:

  • scope (selectCurrentScope / getScopeQueryParams)

Feature flag key: integrations (requires advanced plan tier or above)

The eleven-category catalogue (CATEGORIES) is a static, hardcoded manifest in the component describing every provider's exact form fields, help URL and whether it supports test mode — it is not fetched from the backend. Gateway-specific integrations route through GATEWAY_FIELD_MAP/GATEWAY_PREFILL to translate the generic form values into the /payment-gateways/:provider/connect request body, while every other category goes through the generic /integrations/:id enable+config endpoints. Connected state for gateways is derived by checking hasCredentials on the /payment-gateways response rather than a separate flag.