Omnikyo/Help Center
Troubleshooting

Fix your website connection

Your website cannot send orders to Omnikyo when the key is wrong, the domain is not allowed, or the order is missing data. Most problems are in the error message.

বাংলায়: আপনার ওয়েবসাইট থেকে যখন অর্ডার আসে না বা error দেখায়, প্রথমে Settings এ "Recent orders" ট্যাব খুলুন। প্রতিটি ব্যর্থ অর্ডারের পাশে error বার্তা লেখা আছে। সবচেয়ে সাধারণ সমস্যা হলো secret key ভুল, SKU মিলছে না, বা domain যোগ করা নেই।

Where to find it: Sidebar › Settings › Sales channels › Your website › Recent orders tab

A browser_request error: "Send orders from your server"

What you see: The error says "Send orders from your server (PHP), not from browser JavaScript: the secret key would be visible to every visitor."

Why it happens: The code that sends the order is running in the browser instead of on the server. Browser JavaScript can see the secret key, which means every visitor could steal it and send fake orders.

How to fix it:

  1. If your developer used fetch() or XMLHttpRequest in browser JavaScript, move that code to the server (the PHP file that handles the checkout or order completion).
  2. Move the order-sending code to a server-side script that runs after the order is saved on your site.
  3. Use the Helper file or the API example that Settings provides — both are meant to run on the server.
  4. Test again with an order.

An invalid_key or missing_key error

What you see: The error says the secret key is not valid or missing.

Why it happens: Either the key was not sent with the request, the key is wrong, or it was changed when Replace keys was clicked.

How to fix it:

  1. Go to Keys and domain tab and copy the current Secret key (it's masked with dots; click to copy).
  2. Make sure it's pasted into the .env file on the server, or the PHP helper file, exactly as it is.
  3. If Replace keys was clicked recently, the old key stops working immediately. Use the new key.
  4. Redeploy the website with the correct key.
  5. Send a test order again.

unknown_sku error: no matching product

What you see: The error says "No product in Omnikyo has the SKU 'ABC'."

Why it happens: The order has a SKU that does not match any product in your Omnikyo store.

How to fix it:

  1. In Omnikyo, go to Products and find the product the customer ordered.
  2. Open the product and look at the SKU field (Properties panel). Copy the exact SKU.
  3. Add that SKU to your website's product data (the database or inventory system).
  4. Re-send the order from Recent orders by clicking Retry, or place a new test order on the site.

Good to know: SKUs are matched exactly and case-insensitive. If the product has no SKU at all, add one before retrying the order.

domain_not_allowed: website address is not saved

What you see: The order page says events are sent but the order fails with a domain error.

Why it happens: The website's address (domain) was not saved in Keys and domain tab, or the request came from a different domain.

How to fix it:

  1. Go to Keys and domain tab.
  2. In the Website address field, type your shop's domain (e.g., yourshop.com — without https:// or /path).
  3. Click Save.
  4. If you have multiple domains (e.g., yourshop.com and www.yourshop.com), separate them with a comma.
  5. Redeploy your website, then send a test order again.

The order says "Not on the site yet"

What you see: The Script tag milestone shows "Not on the site yet" in red or gray, or the page says "We couldn't open your website."

Why it happens: The connect.js script tag is not on the website's pages, or the website is not reachable.

How to fix it:

  1. Go to the Setup tab and click Check my website.
  2. If the check fails with "We opened <url> and the script tag isn't there yet": add the script tag from step 1 of the walkthrough to your website's main layout file (usually header.php or the layout blade file), before </head>. Remove any old Meta pixel code first.
  3. Redeploy the website.
  4. Come back to Your website and click Check my website again, or wait 5 seconds for an automatic check.

If the check says "We couldn't open your website" or shows a timeout:

  • Make sure the domain you saved starts without https:// or /path (just yourshop.com).
  • Check that the website is online and not blocked by a firewall or access rules.
  • Try checking again in a moment.

A bad phone error or "invalid_order"

What you see: The error message names a phone or address field.

Why it happens: The order is missing a required field, or the phone number is not in a Bangladeshi format.

How to fix it:

  1. Check the customer's phone number. It must be a Bangladeshi mobile number starting with 01 (e.g., 01712345678). The order API accepts these formats:
    • 01712345678
    • +8801712345678
    • 8801712345678
    • 1712345678 (the 880 prefix is added)
  2. Make sure customer.address is filled in — couriers need it to deliver.
  3. Make sure items has at least one item with a sku and quantity.
  4. Fix the order data on your website and try again.

plan_limit 402: subscription blocking orders

What you see: The order is refused with a message like "Order creation blocked: you have 0 active orders left."

Why it happens: Your Omnikyo plan has reached its limit. The account is write-blocked.

How to fix it:

  1. Go to Settings and scroll down to check your Billing status.
  2. If your plan is full or expired, upgrade or renew.
  3. Once unblocked, retry the order from Recent orders.

rate_limited 429: too many orders at once

What you see: The error says "Too many orders at once. Wait a moment and send again."

Why it happens: Your website sent more than 60 orders in a short burst, or more than 120 per minute.

How to fix it:

  1. Wait a moment, then retry.
  2. If this happens often, the website may be batching orders incorrectly. Check that the PHP helper is called once per order, not in a loop with no delay.

The script tag runs but says "This page already has a Meta pixel"

What you see: The tag doesn't send Meta events, and the browser console shows "Omnikyo: this page already has a Meta pixel."

Why it happens: Your website has another Meta Pixel tag (from a different tool or an old installation), and Omnikyo cannot mirror events because Meta blocks duplicate pixels.

How to fix it:

  1. Find and remove the old Meta pixel code from your website (search for fbq('init' in the layout).
  2. Keep only the Omnikyo script tag from the Settings page.
  3. Redeploy the website.

The order is created but shows status "On Hold"

What you see: The recent order says On hold: low stock, but you have stock for that product.

Why it happens: Omnikyo does not have enough stock at any location that sells on your website, or no location is flagged for online sales.

How to fix it:

  1. Go to Inventory and check the product's stock quantity at each location.
  2. Make sure at least one location is flagged Online under Fulfilment channels (Settings › Locations › the location).
  3. If stock is actually in a location, add more stock or move it from another location.
  4. If the location is correct, retry the order from Recent orders.

Careful: A held order ties up stock. If the customer confirms they want it, the order will need to be released from hold (by editing the order status). Until then it stays reserved.

Helper file errors in the log

What you see: When the developer checks the website's log file, there are error messages like "Omnikyo could not be reached" or "the order could not be turned into JSON."

Why it happens: The helper file (Omnikyo.php) is sending the order to Omnikyo, but something is wrong with the request or the response.

How to fix it:

  1. "Omnikyo: the secret key is missing" — add OMNIKYO_KEY=sk_live_… to the .env file (copy the secret key from Keys and domain tab).
  2. "the order could not be turned into JSON" — the order data has invalid characters (e.g., newlines or slashes that were not escaped).
  3. "could not be reached (<HTTP status>)" — check the response body in the log for details. If it's a 401, the key is wrong. If it's a 422, an order field is missing or invalid. Retry the order from Recent orders once the data is fixed.
  4. "connect timeout" or "request timeout" — the server cannot reach https://omnikyo.com. Check that the website's server can make outbound HTTPS requests.

Still stuck?

If the error message is not here, or retrying does not fix it:

  • Read the error message carefully — it usually names the problem field.
  • Check the Orders API reference to see what each field should be.
  • Copy the recent order's error text and search the website setup guide for that phrase.
  • The developer reference has the full API specification and every error code.

Other ways people ask this

  • website theke order error asche
  • secret key invalid lagche
  • unknown sku error fix korbo kivabe
  • order domain error
  • website connection troubleshoot
  • webhook rejected
  • অর্ডার browser theke jaache na
  • API 401 error
  • rate limit ache
  • order on hold stock

Checked against the product on 2026-10-02.