Wapzio logo

Test everything, and fix what goes wrong

A ten-minute end-to-end check, and the fix for every failure Commerce can show you — from silent carts to Meta error 131049.

4 min read Updated 19 Sept 2026TestingTroubleshooting
On this page (6)

The ten-minute end-to-end check

  1. 1

    Abandon a cart with your own number

    Add an item on your storefront, start checkout, enter your own name and phone, then close the tab. Within a minute the cart shows up under Commerce → Abandoned Carts with your number on it.

  2. 2

    Get the reminder

    Either wait out reminder 1's delay, or temporarily set it to 1 minute. The message arrives on your phone with a working button back to your cart.

  3. 3

    Pay

    Complete the order. The cart flips to Recovered, remaining reminders stop, and the order message arrives.

  4. 4

    Ship it

    Mark the order fulfilled with a tracking number. The shipped message arrives with the tracking line filled in.

  5. 5

    Try a COD order

    Place one with Cash on Delivery, tap Confirm on your phone, and check the order picks up its confirmation (and its Shopify tag, if you set one).

  6. 6

    Put the delays back

    Return reminder 1 to its real delay and save. A one-minute reminder in production feels like a bot.

No carts are arriving at all

CheckFix
Store card statusShopify: the webhook count should read 6 of 6 — click Re-sync if it is lower. WooCommerce: the plugin version should be shown, otherwise install or activate it.
Third-party checkoutGoKwik, Shiprocket and similar own the cart, so the platform's cart webhooks never fire. Post carts to the store's ingest URL from the checkout provider instead.
Last event receivedConnection details shows when the store last sent anything. Nothing ever? The plugin or your code has not reached Wapzio — a firewall or a wrong URL.
Shopify app still installedUninstalling the custom app silently ends every event.

Carts arrive but nothing is sent

What the cart saysWhat it means and what to do
No phone number on the cartYour checkout is not collecting one, or is not sending it. Make the checkout phone field required. On Shopify, also request protected customer data access for the app.
Skipped — no marketing consentRequire marketing consent is on and this shopper never agreed. Send whatsapp_opt_in from your checkout, or turn the requirement off if your legal position allows.
Skipped — daily message cap reachedThe shopper hit Max carts reminded per contact per day. Raise it for future carts; the skip on this cart is final.
Skipped — below minimum cart valueMinimum cart value is above this cart's total.
Skipped — quiet hoursIt is waiting for the window to end, not lost.
Reminder is on, nothing scheduledThat rung has no template. Pick one, or switch the rung off.
Recovery is offThe master toggle at the top of Recovery Flows.

A message failed — what Meta's codes mean

CodeMeaningWhat to do
131049WhatsApp is protecting this person from too much marketing this period, so the message was not delivered.Nothing is broken. Send order updates as Utility templates, which this limit does not apply to, and space marketing further apart.
131050The shopper has opted out of marketing from your number.Only utility and service messages will reach them. Wapzio already skips them for promotional events.
131026The number cannot receive WhatsApp messages.Usually a landline, a mistyped number, or a country code missing. Set the store's default country code.
132000 / 132012The template's variables do not match what was sent.Re-open the flow and map every placeholder; re-check the template was not edited on Meta afterwards.
470 / re-engagementThe 24-hour window closed for a free-form reply.Reply with a template instead.
Tip

Hover the red failed icon on any message in the inbox and Wapzio shows Meta's own reason for that send, code included — you do not need to read a log file to find out why one message failed.

Signing and security problems

Status on the store cardCauseFix
Signed requests are failingThe signature did not verify. The reason is printed next to it.Sign the exact string "<timestamp>.<body>" with the store's secret, send that same body, and keep the server clock within five minutes of real time.
Unsigned requests are still arrivingRequests are reaching Wapzio without the two headers.Add them in your code, or update Wapzio Connect to 1.1.0 or later, which signs automatically.
Signed requests verifiedEverything is correct.Now switch Only accept signed requests on, so an ingest URL alone is no longer enough to post carts.
  • Rotate token on the store card's ⋯ menu if the ingest URL or secret was ever shared outside your team. Re-download the WooCommerce plugin afterwards, or update the URL in your code — the old one stops working immediately.
  • Never put the ingest URL or signing secret in browser JavaScript, a mobile app, or a public repository. Both belong on your server.

Still stuck?

Open a chat with support from inside the panel and tell us the store name, the cart or order number, and roughly when it happened. That is enough for us to follow one specific cart from your store's request to the WhatsApp delivery receipt.