Skip to Content
CommerceCheckout

Checkout

Cuneiform Chat never takes a payment. Every purchase completes on your own store’s checkout, under your own payment setup. What we do is get the shopper there without making them rebuild their cart.

There are two places a handoff can start:

  • From a Storefront — the in-bot catalog a shopper browses
  • From shoppable chat — product cards and a cart inside the conversation itself

Both end the same way: your checkout, in the shopper’s browser, with the items already in it.

For a Shopify store, the handoff is a single checkout link that carries the entire cart — every line, every quantity — plus attribution so the resulting order can be traced back to the conversation that produced it.

The shopper taps once and lands on your Shopify checkout with everything already there. Nothing to re-add, nothing to remember.

A discount code rides that link when the handoff starts from a Storefront with one configured. A cart built from product cards inside a chat carries no discount code.

WooCommerce: it depends on your connection’s permission

This is not a WooCommerce limitation — it’s a permission setting on your connection. A WooCommerce store connected through the guided flow always has the permission needed for the full experience. Only a store connected manually with a read-only key gets the reduced one.

Your connectionWhat a shopper gets
Read/Write (every guided connection, and any manual connection where you selected Read/Write)The whole cart, as a pending order created in your store, with the conversation attributed to it. The shopper goes straight to paying for that order.
Read-onlyOne line at a time. The shopper is handed an add-to-cart link for a single product. If their cart has more than one line, no checkout link is built. Nothing is lost — the cart stays intact — but what happens next depends on where the shopper is: from a Storefront the handoff becomes an order inquiry that lands in your Inbox; inside a chat the agent tells the shopper it can’t build the link and offers to help them finish another way, without creating an Inbox item.

What the pending order is, and isn’t

On a Read/Write connection, checking out creates a pending order in WooCommerce and sends the shopper to pay for it. That order:

  • Is not paid and not fulfilled — it’s waiting for the shopper, exactly like an abandoned cart that got as far as the payment page
  • Carries the conversation it came from, so you can see which chats turn into orders
  • Is the only order the integration ever creates. It never edits a product, never adjusts stock, and never modifies an existing order
  • Stays pending until the shopper pays, or your own store cancels it. We never cancel or delete an order

The integration does also register a small set of webhooks on your store when you connect — that’s how it hears about new orders and product changes as they happen. They’re named Cuneiform …, and disconnecting removes them.

What happens to a pending order nobody pays for

Most shoppers who reach a payment page don’t pay. Those pending orders don’t disappear on their own, and Cuneiform Chat is not what removes them — creating that one order is the only write we make, and cleaning up afterwards is your store’s job.

WooCommerce has a setting built for exactly this: WooCommerce → Settings → Products → Inventory → “Hold stock (minutes)”. It auto-cancels unpaid pending orders once that many minutes have passed. Two things have to be true for it to run — stock management has to be enabled, and the field has to have a number in it.

Your store’s inventory settingsUnpaid pending orders
Stock management on, hold-stock setYour store cancels them for you, on the schedule you chose. Nothing to do
Stock management off, or hold-stock emptyNothing cancels them. They accumulate in your Orders list indefinitely — that cleanup is yours

If you run without stock management, the sweeping is yours to do. Filter your WooCommerce Orders list to Pending payment every so often and cancel or delete the ones that are clearly dead. Nothing in Cuneiform Chat sweeps them up, and nothing tells you they’re piling up.

Two pending orders for what looks like the same cart

Tapping checkout again on the same cart within about five minutes re-opens the same pending order instead of making a new one. That covers the ordinary double-tap and the shopper who closes the payment page and comes straight back.

Outside that window, a second tap creates a second pending order. Changing the cart at all — adding a line, removing one, changing a quantity — makes it a different cart, and so a new order too. The protection is also best-effort: it leans on a short-lived cache, so if that’s briefly unavailable the next tap creates another order rather than failing.

So two near-identical pending orders a few minutes apart is this, not a double charge. Neither is paid, and the shopper only ever pays for the one they actually finish.

If multi-line checkout isn’t working

Check the permission recorded on your WooCommerce connection. If it says read-only — including the case where you pasted a Read/Write key but left the permission field blank on the form — Reconnect through the guided flow. See After a manual connect.

Checkout from a Storefront

A Storefront can be built by hand or linked to a connected store’s catalog. Which one it is decides what its checkout can do:

Storefront kindCheckout
Catalog-linked to ShopifyFull checkout handoff to your Shopify checkout
Catalog-linked to WooCommerceHandoff as described above, according to your connection’s permission
Built by handNo payment handoff — order CTAs are inquiry handoffs that land in your Inbox for a human to pick up

A storefront is scoped to one source and stays that way once it has product blocks on it, so a hand-built storefront can’t quietly start behaving like a catalog-linked one (or vice versa). Storefronts created before catalog linking existed are unscoped and keep working exactly as they did.

Checkout from inside a chat

When a shopper builds a cart from product cards in the conversation, the checkout handoff works the same way — one tap out to your own checkout. See Shoppable Chat for how the cart itself works and which channels support it.

What we never do

  • Take a payment. No card details, no payment credentials, and no payment data pass through Cuneiform Chat.
  • Charge a shopper. The pending order described above is unpaid until the shopper pays for it on your store.
  • Change your prices, stock, or existing orders.

Troubleshooting

That’s the read-only WooCommerce path. Check your connection’s permission and Reconnect through the guided flow.

Same cause. Nothing is dropped — the cart is preserved either way. From a Storefront the request reaches you as an order inquiry; inside a chat the agent handles it conversationally rather than creating an Inbox item.

A shopper reached checkout but the discount wasn’t applied

Discounts ride the Shopify handoff link from a Storefront only — an in-chat cart never carries one. If the handoff did come from a Storefront, confirm the discount is still valid and applicable to the products in the cart; an expired or non-applicable code is dropped by Shopify at checkout, not by us.

My WooCommerce Orders list is filling up with unpaid pending orders

Expected, if your store isn’t set to clear them. Every abandoned checkout leaves one behind, and nothing on our side removes it. Set hold stock (minutes) under WooCommerce → Settings → Products → Inventory so your store auto-cancels them, or sweep the Pending payment list yourself. See what happens to a pending order nobody pays for.

Orders aren’t showing which conversation they came from

Attribution is carried on the handoff. If it’s missing on WooCommerce, you’re probably on the read-only single-line path, which can’t carry it.

  • Shoppable Chat — the in-conversation cart this hands off from
  • WooCommerce — the connection permission that decides which path you get
  • Shopify — connecting a Shopify store
  • Analytics — seeing how many handoffs turn into orders
Last updated on