Pay via WooCommerce
Take online payment from POS or New Order using your store’s checkout, payment links and QR codes.
How it works
Pay via WooCommerce creates an unpaid order and gives the customer a link to your WooCommerce checkout. The customer pays on the store using a payment method offered there. Stokkap then checks the linked order for payment confirmation.
This is different from recording cash or taking a card payment on a POS terminal. Creating a request, displaying its QR code, opening checkout or sending an email does not mean the customer has paid.
What you need
The store must be connected and reachable, with a compatible Connect plugin and the relevant payment capabilities available. Your account needs access to the workflow you are using. Hosted payment requests need an online connection.
Configure and test the payment gateways on your WooCommerce store. The methods offered at checkout depend on each gateway’s rules, the order and the customer. Connecting a Stripe, Square, SumUp or Zettle terminal in Stokkap does not configure WooCommerce checkout.
Enter a customer email and a customer name or company name where requested. Shipping orders also need the required delivery address fields. A POS payment request needs an open register session; New Order from Orders does not.
Start from POS
Open a register session and build the cart as usual. Review the products, quantities, prices, discounts and any extra charges before choosing Pay via WooCommerce.
The payment window receives the cart, customer details and register context. Complete any missing customer fields, add delivery details if needed, and review the current total. Cart quantities in this window come from POS; make cart changes in POS before creating the request.
Create the order, then send the payment link, open checkout or let the customer scan the QR code. Once the request is created, the matching POS cart can clear even though payment is still pending. Use the pending-payment view to return to that order; do not ring up the same sale again.
Wait for Payment confirmed before handing over goods. If a cart already has selected serial numbers, this route is blocked: complete payment and follow the supported serial assignment/fulfilment workflow rather than treating the unpaid request as a completed serial sale.
Start from New Order
In Orders, choose New Order. Select an existing customer or enter their details, add products or variations, set quantities, and add shipping or other charges where needed.
Review the refreshed totals, then create the order. Use the email action on the result to send the customer the link, or open checkout and share it through the available payment options. Opening the link does not send an email.
An ordinary New Order payment request does not reserve stock. If the customer needs stock held while deciding or waiting to pay, create a reservation first and use Continue to order on that reservation.
Email, QR code and opening checkout
Email sends the checkout link to the customer’s saved email address. If supported, the email action also includes the proforma. A proforma is not a tax invoice or proof of payment.
Pay now opens WooCommerce checkout in another tab. More options includes copying the link, showing the QR code, printing or saving the proforma, and checking payment status when available. A customer can scan the QR code with their own phone to open checkout.
Registered customers may need to sign in; guests may need to verify their email. Use the intended customer’s details and let them complete any checkout verification.
For a reservation, Send payment link asks for an email address and prepares and emails the link in one step. Missing or invalid email errors appear beside the field. It does not charge the customer automatically.
Confirm payment and find pending orders
While the payment result is open and the store is online, Stokkap checks the order periodically. You can also use Check payment. Confirm the order shows Payment confirmed before treating the sale as paid.
A successfully sent email, a cleared POS cart or the customer closing their checkout tab is not payment confirmation. If the status has not updated, check the existing order and the payment gateway before asking the customer to pay again.
Reopen the Pending payment view to find an unpaid request. Use View order for the order’s details and fulfilment. Closing the payment window does not itself cancel the order or mark it paid.
For an order that began as a reservation, Stokkap Reservation remains its order origin after successful payment. Check the payment status and linked order to confirm payment; the origin label is not a payment result.
Stock and reservations
Ordinary POS hosted-payment and New Order requests do not reserve stock. Availability is checked again at payment, so another sale can change what is available while the customer waits.
A reservation is different: its held units are already excluded from available stock. Payment converts the existing hold into the order workflow without subtracting the same units again. Continue the linked reservation order instead of creating a second payment request for the same items.
For example, reserving two of six available units leaves four available. After successful payment, the available figure can remain four while the reservation converts to an order.
If something goes wrong
If a required customer field is missing, complete it and review the total before retrying. On the reservation email prompt, validation and send-request errors appear beside the email field.
If order creation times out and the result is uncertain, use Retry on the same pending operation. Do not create a fresh order just because the first response was lost.
If email delivery is uncertain, check the order and ask the customer whether it arrived before sending again. If checkout says the order is not payable, check its current status: it may already be paid, cancelled or otherwise unavailable for payment.
If a gateway is missing or payment fails in checkout, review the WooCommerce gateway configuration and the gateway’s payment record. Stokkap cannot guarantee that every installed payment plugin supports every order or checkout flow.
Use cases
- A customer at the counter wants to pay on their phone: build the POS cart, choose Pay via WooCommerce, and let them scan the checkout QR code. Wait for Payment confirmed before handing over the goods.
- A customer cannot pay immediately over the phone: build a New Order and email its checkout link. Use a reservation first if you need to guarantee the stock while they wait.
- A reserved order is ready for payment: send its payment link or continue its linked order to add final details. Payment uses the existing held stock rather than creating another sale.
- A business customer needs paperwork: send or print the proforma where supported, then let them pay through the checkout link. The document itself neither confirms payment nor reserves stock.
Limitations and restrictions
- Online only: WooCommerce checkout requests need a reachable connected store and supported payment capabilities. They are not an offline cash or card-terminal payment.
- POS versus Orders: starting from POS requires an open register session and a cart. Starting from New Order in Orders does not require a register. Staff permissions and store settings still apply.
- Customer details: payment requests require a customer email and the requested name/company details. Registered customers may need to sign in and guests may need email verification. Sending a link does not bypass checkout verification.
- Gateway compatibility: checkout can offer only methods supported and available for that order in WooCommerce. A working terminal connection does not enable an online gateway, and one tested gateway does not prove that every payment plugin or custom checkout works.
- Reserved items: use the existing reservation’s linked order. A separate POS/New Order request does not take over that hold. Ordinary hosted-payment requests do not reserve stock; the held units remain excluded from their available stock.
- Serials: a POS cart with selected serial numbers cannot use this route. Remove the selected serials before starting online payment and assign them to the order through the supported workflow after payment.
- Confirmation: a sent email, QR scan, cleared cart or opened checkout is not proof of payment. Wait for Payment confirmed and investigate an uncertain result on the existing order before asking the customer to pay again.
- Edits, cancellations and refunds: active reserved orders must be managed through the reservation workflow. Do not force changes during payment or use refund actions to release an unpaid hold. For a paid order, use the normal order/refund workflow.
Read the provider-by-provider payment access and revocation guide.