Skip to content
Crypto Merchant

Use cases

Accept crypto payments in an online store, without a plugin

An online store accepts crypto with Crypto Merchant by creating one invoice per order through the REST API and sending the customer to the invoice's hosted checkout page. The customer picks a coin, pays the exact amount at a rate locked for that invoice, and your server ships the order when the signed invoice.paid webhook arrives. The fee is 1% per paid invoice. There is no WooCommerce, Shopify or Magento plugin: the integration is one API call and one webhook endpoint.

Updated 6 November 2026

Everything on this page describes how Crypto Merchant works today, as set out in the API reference, the checkout docs and Pricing. Nothing here is a claim about other gateways.

At a glance

TopicHow it works
How customers payOn a hosted invoice page: they choose a coin and network from the ones you accept, see the exact amount and a deposit address made for that invoice, with a QR code and a countdown.
What you buildOne POST /invoices call when the customer chooses crypto, and one HTTPS endpoint for webhooks. Any language or framework that can make an HTTPS request.
When to shipOn the invoice.paid event, after the payment has its confirmations. Never on invoice.confirming.
Wrong amountsA payment short by no more than your tolerance counts as paid. A bigger shortfall makes the invoice underpaid: the customer can top up or take back what they sent. An overpayment still counts as paid, and the extra is held for the customer.
Pricing currencyUS dollars by default, or another supported currency such as EUR, GBP, TRY or BRL; the coin amount is calculated from live prices when the customer picks the coin.
PluginsNone. The flow below works with any cart or custom checkout that can call an API.

How does it work, step by step?

From the moment a customer chooses “Pay with crypto” to the order leaving your warehouse:

  1. 1

    Create the invoice at checkout

    When the customer picks crypto, your server calls POST /invoices with the order total, your order_id, the customer's email, a redirect_url back to your thank-you page and any metadata you want echoed back. The reply is the invoice with a checkout_url.

  2. 2

    Send the customer to the invoice page

    Redirect to checkout_url. The page lists the coins you accept; when the customer picks one, the amount in that coin is calculated from live prices and locked, and a deposit address made for this invoice is shown with a QR code. The invoice stays open for the time you set, 30 minutes by default.

  3. 3

    Receive the signed webhooks

    Your endpoint gets invoice.confirming when the payment is seen on-chain and invoice.paid once it has enough confirmations. Verify the CM-Signature header, save the event, reply with a 2xx within 10 seconds, then release the order from your saved copy. Events can arrive twice: use the event id to ship once.

  4. 4

    Handle the three edge cases

    invoice.expired: no payment arrived in time, so offer a new invoice. invoice.underpaid: the customer can send the rest to the same address or get a refund from the invoice page. An overpaid invoice is still paid; the extra is held for the customer, who can withdraw it from the invoice page.

  5. 5

    Get paid out

    Confirmed payments are credited to your balance minus 1% and swept into your business's pool wallet. Pay out any time to your own addresses, each coin as it is or everything swapped into one holding coin.

The one API call it takes

Create the invoice at checkout
curl https://cryptomerchant.online/api/v1/invoices \
  -H "Authorization: Bearer $CM_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "64.00",
    "currency": "USD",
    "order_id": "ORD-20931",
    "description": "Order ORD-20931",
    "customer_email": "[email protected]",
    "redirect_url": "https://yourstore.example/orders/20931/thanks",
    "metadata": { "cart": "20931" }
  }'

# 201 → { "id": "inv_…", "status": "open", "checkout_url": "https://cryptomerchant.online/pay/i/inv_…", … }
# Send the customer to checkout_url. Ship on the "invoice.paid" webhook.

What does it cost?

1% of each paid invoice, deducted when the payment is credited to your balance. There is no setup fee, no monthly fee and no payment to go live; expired and cancelled invoices cost nothing. Moving coins (sweeps, swaps and payouts) carries a gas fee, taken from your gas balance if you add one, otherwise from the coins being moved. Customers also pay a gas fee on each invoice: it is added to the amount they send, shown at checkout and never more than $5. Swap rates include a 1% service margin. Every cost is in one table on Pricing.

What Crypto Merchant doesn't do here

  • No shop plugin. There is no WooCommerce, Shopify, Magento, PrestaShop or OpenCart module. You add the API call yourself, or share your checkout page and payment links.
  • No automatic refunds, and no refund call in the API. A confirmed crypto payment is final, so a refund is a new transfer. For a return, an Admin creates a private refund link from the paid payment in the portal; the customer enters their own address, the network fee comes out of the refund and the 1% fee is not returned.
  • Custodial, crypto-only. Crypto Merchant holds the keys until you pay out, and payouts go to your own wallet addresses, not to a bank account.

Who is this for?

  • Stores that already run their own checkout and can add one API call and a webhook.
  • Stores selling to customers in countries where cards are hard to get or where chargebacks hurt.
  • Stores that price in dollars and want to settle in USDT or USDC.

Frequently asked questions

Is there a WooCommerce or Shopify plugin for Crypto Merchant?
No. The integration is one API call that creates an invoice and one webhook endpoint that hears when it is paid. If a plugin is essential, the alternatives pages list gateways that have one.
How long does a crypto payment take to confirm?
It depends on the network. Each network has a set number of confirmations, listed in Coins & networks. Stablecoins on Tron, Solana, BNB Smart Chain, Polygon, Base and Arbitrum usually confirm within a few minutes; Bitcoin needs 2 confirmations, usually around 20 minutes.
What happens if the customer pays the wrong amount?
A shortfall within your tolerance counts as paid. A bigger shortfall makes the invoice underpaid, and the customer can top up or take back what they sent from the invoice page. An overpayment still counts as paid, and the extra is held for the customer to withdraw.
Does the customer need a Crypto Merchant account?
No. The customer only needs a wallet with the coin they want to pay with. They open the invoice page, pick the coin and send the amount shown.
Can I price orders in euros or another currency?
Yes. Invoices are priced in US dollars by default, and the currency field accepts other supported currencies such as EUR, GBP, TRY or BRL. The coin amount is calculated from live prices when the customer picks the coin.

Other use cases

All use cases

Start accepting crypto today

Free setup, no documents to sign up, 1% per paid invoice, and payouts whenever you want.