WooCommerce Crypto Payment Integration: Turnkey

Accepting cryptocurrency in a store often comes down to manual payment reconciliation and lost orders. We set up WooCommerce crypto payments turnkey: we select the acceptance model, connect the module, and build reconciliation and refunds. You get automatic payment crediting and a clear procedure for working with transactions.

Blockchain Development Services

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1376
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1350
  • B2B Advance company logo design
    B2B Advance company logo design
    795
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1088
  • AIDER company logo development
    AIDER company logo development
    1034
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1130

Crypto payments WooCommerce: where payment acceptance breaks

The order is placed, the customer has sent coins, the transaction is visible on the network — yet in the store admin the order still says "awaiting payment." The reason is usually not the blockchain: the store did not receive a notification from the payment gateway or could not link the incoming transfer to a specific order.

The most common failure is a break at the confirmation stage. The payment enters the mempool, waits to be included in a block, then accumulates the required number of network confirmations.

The store either considers the payment complete too early or cannot wait: the session closes, the order is canceled by timeout, and the funds have already been sent.

The second class of failures is matching the payment to the order. If there is a single address for the entire store, and two customers have the same amount, there is no way to tell them apart.

Hence stuck transactions: the payment is on the network, but there is no link to the order — and everything goes to manual reconciliation.

The cost of such manual payment reconciliation is hours of manager time: match hashes against the wallet statement, find the right amount, manually switch the order status.

At volume, this means status errors, shipments without payment, and unconfirmed order payment, which makes the customer simply go to competitors. Returning a mistakenly shipped item in crypto is no longer possible — unlike with bank acquiring.

Let's break down how this is solved: how to set up cryptocurrency acceptance in an online store so that the status changes by itself, and manual reconciliation remains only for real exceptions.

What changes in the store after connecting crypto acceptance

Right now, crypto acceptance in WooCommerce most often looks like this: the customer goes to an external wallet, manually copies the address and amount, and the manager then reconciles incoming funds with orders by eye.

Until the payment is confirmed manually, the order sits in pending status — some customers change their minds during this time, and some payments are not matched to an order at all.

After integration, crypto payments in WooCommerce are confirmed automatically: the payment gateway passes the store an event for a specific order, and the store itself moves it to paid status, deducts the remaining stock, and sends an email with access or a tracking number.

The operator's role comes down to handling rare exceptions — underpayment, refund, disputed transaction. Manual operations in the flow become several times fewer, and they stop being a bottleneck during peak hours and on weekends.

The share of successful payments grows because the order and invoice are generated on the store side.

The amount is linked to the cart down to the last decimal place, the address is inserted automatically, extra redirects and copying are gone — and along with them, a whole class of failures disappears: "funds sent, order not closed."

This directly affects cart conversion: crypto appears at checkout alongside card and other methods, and a customer who does not have a suitable card does not leave for competitors. Below we break down what such an integration consists of and what the store will need.

Options for integrating crypto payments into WooCommerce: comparison

The acceptance scheme determines not only where funds arrive, but also how the store learns about payment: when the order moves to "paid," after how many confirmations this is recorded, and what to do with underpayment.

Therefore, choosing an option is a question of compatibility with order status logic, server notifications, and inventory accounting.

In practice, the choice comes down to three schemes, and they differ in two things: who holds the private keys and who confirms the transaction.

Option When it fits Limitations
Third-party payment gateway You need to launch in a tight timeframe and support dozens of coins without your own infrastructure Turnover-based commission, dependence on service availability, limited configuration of confirmation rules
Turnkey custodial acceptance module You need your own payment interface and fewer intermediaries, but lack resources to maintain nodes Keys remain with you — responsibility for their storage and rotation appears
Own network node + non-custodial wallet High volumes, need full control over confirmations and buyer privacy Your own infrastructure, synchronization monitoring, disk and bandwidth headroom

For an average store, a compromise is reasonable — a gateway or a custodial module. An own network node is justified where independence from a third party and predictable confirmation delay are important.

Next we will break down how each scheme integrates with WooCommerce orders and what happens during a blockchain reorganization.

Implementation stages: from cart audit to production mode

We carry out the work sequentially: first we record how crypto payment acceptance in WooCommerce currently works, then we assemble a setup that can be tested without risk to live orders.

This order removes the main source of failures — the discrepancy between what happened on the network and what is recorded in the order.

  1. Payment scenario audit. We review the cart, checkout, customer roles, delivery, taxes, and refunds; we look at where the "paid" status appears and who sets it.
  2. Confirmation scheme. We determine how many confirmations are sufficient for different amounts and product types, how we act during a chain reorganization, and how we mark the order before its final state.
  3. Acceptance setup. We bind the address to the order so that one payment is not credited twice, and connect node notifications with backup scheduled reconciliation.
  4. Payment event handling. We build a handler: one-time status write, timeout cancellation, retry when the node is unavailable, log for resolving disputed cases.
  5. Test environment. We run underpayment, overpayment, late payment, and cancellation after confirmation in an isolated network, checking inventory and customer email behavior.
  6. Live order validation. We enable payment for a small share of customers, reconcile amounts and statuses with the network via logs, then open it to everyone.
  7. Handover. We provide access, flow diagrams, support instructions, and the procedure for a disputed transaction.

Module configuration, access keys, and reconciliation policies

After launch, the client retains not only working crypto payment acceptance but also the entire supporting framework around it: configuration, permissions, rules, and documentation.

We hand this over as a complete package — your team can change acceptance terms and handle disputed operations itself without waiting for us.

The package looks like this:

  • Configured module in WooCommerce: receiving addresses per currency, invoice expiry, minimum order value, and auto-confirmation threshold are exposed in the admin rather than hardcoded in the theme template.
  • Access keys: separate for receiving and for withdrawing funds, read-only balance for operators; scheduled rotation, storage in a secure vault instead of server files.
  • Role separation: roles "operator," "accountant," "administrator" — who sees the address, who changes confirmation rules, who only reads the log.
  • Confirmation rules: how many network confirmations to wait for orders of each amount, how a pending order is marked, what to do with underpayment and overpayment.
  • Reconciliation policy: daily matching of orders, incoming funds, and withdrawals, list of typical discrepancies and procedures for each of them.
  • Diagrams and documentation: fund flow map, order status description, support instructions, and checklist when changing wallet or currency.
  • Transaction log: what is recorded, where it is stored, how long it is retained, and how it is exported for internal control.

Case study: how an electronics store eliminated manual payment reconciliation

An electronics store with several thousand SKUs accepted cryptocurrency as a second payment method, but confirmation of each transfer remained manual.

The manager opened a blockchain explorer, reconciled the amount, address, and transaction ID with the order, waited for network confirmations, and only then changed the status in WooCommerce.

On weekends, the reconciliation queue stretched for hours, and some customers managed to cancel their orders.

Before: manual reconciliation

Of crypto payments, 32% were confirmed manually, and the rest hung in an uncertain status until clarification. Average time from transfer to status change was 23 minutes during business hours and up to 4 hours on weekends.

The share of crypto payments completed to the end held at 68%, and 14% of orders were canceled as unpaid — while funds arrived and required refunds.

After: automatic confirmation

We connected crypto acceptance to the store via a module with network notification processing and idempotent payment-to-order linking: a repeated notification does not create a second payment and does not switch status twice.

The status changes automatically after the required number of confirmations, the customer receives an email, and a link to the transfer remains in the panel. Only 4% of payments are handled manually — amount discrepancies and refunds.

The share of automatic confirmations grew to 96%, median from transfer to "paid" status — 40 seconds.

The share of crypto payments completed to the end rose from 68% to 93%, cancellations for non-payment fell to 2%, and manager time for reconciliation dropped from 15 hours per week to two.

How custodial acceptance differs from non-custodial

In WooCommerce crypto payments, the choice is between two acceptance models. In the custodial model, the keys to the address are held in your vault or by the payment service, and incoming funds are consolidated into a common wallet.

The customer sees a familiar scenario: payment is confirmed on the store side, and disputed cases are handled by an operator.

The difference appears at the moment of failure.

Underpayment, a transaction without the required number of network confirmations, or a payment at a changed rate in the custodial scheme are handled on your side: an engineer matches incoming funds to the invoice and can initiate a refund by signing an outgoing transaction.

In the non-custodial scheme, the key to a one-time address remains with the buyer, and the module only issues the address, listens to the network, and confirms crediting.

Responsibility for the buyer's funds ends at the crediting stage: access to them is outside your control, and the payment cannot be returned — neither for an amount error nor for a transfer to the wrong address.

Hence the different sets of refund scenarios. Custodial acceptance allows returning funds in the original coin or crediting overpayment toward the order and manually closing a stuck operation.

Non-custodial — the payment is final, and a refund is possible only via a new transaction by agreement with the buyer.

The downside of the custodial model is the cost of key storage: backups, access separation, rotation, and protection from compromise fall on you, and an error in this setup affects buyer funds.

The non-custodial scheme removes this class of risks but shifts some disputed situations to store support.

Technical questions: refunds, exchange rates, stuck transactions

A payment module for WooCommerce does not cancel a transaction — funds can only be returned by a new transfer to the customer's address.

We process a crypto refund as a separate operation: we record the recipient address, amount, and network, and link it to the original order so that double income does not appear in accounting.

If the customer paid in a coin not held in our treasury, the refund still goes in the same coin — the customer does the conversion themselves.

The exchange rate difference occurs in the window between order creation and confirmation.

We fix the rate at the moment of confirmation and keep a 20–30 minute window: if the price moves beyond tolerance, the order is marked as underpayment or overpayment rather than closed silently.

Confirmation thresholds are configured per network: in some places a few blocks are enough, in others we wait longer — it is the threshold that determines when an order moves to "paid" rather than hanging in "pending."

What to do with underpayment or overpayment due to exchange rate?

The order remains in "awaiting clarification" status, and the customer receives an email with a top-up button or an offer to credit the difference toward the next order.

Automation does not move the payment to confirmed until the amount matches within the specified tolerance — accounting does not catch discrepancies after the fact.

Where do unfinished transactions go?

A scheduled task once a day closes orders that have hung without confirmation longer than the specified period: the status changes to "canceled," the product reservation is released, and the transaction hash and reason remain in the log. Stuck payments do not accumulate in the list and do not block stock.

Let's discuss your task and come back with a work plan

We do not give a "market average" assessment — the scope of work is determined by your scenario: which coins and networks you accept, whether you fix the rate at checkout, what happens on underpayment or invoice expiry. Therefore we start with task analysis, not a template calculation.

During the review we cover the following points:

  • Payment scenario: list of coins and networks, minimum order value, invoice expiry, behavior on partial payment and refunds.
  • Confirmation scheme: address issuance per order, tracking incoming transactions, confirmation threshold for moving an order to "paid" status.
  • Integration scope: payment module for WooCommerce, emails and order statuses, exchange with the accounting system, transaction log.
  • Rate and reconciliation: quote source, rate fixation point, export of operations for accounting.
  • Environment requirements: access, server, test environment, roles and permissions.
  • Integration assessment and implementation plan: stages, timelines, acceptance procedure in test and production environments.
  • Post-launch support: deposit monitoring, updates for network changes, incident response policy.

Describe your task — we'll come back with an assessment and work plan. If you already have your own module or existing work, we'll review the code and say what we refine and what we replace entirely.