How Crypto Payment Gateways Work: Checkout to Returns
A crypto payment gateway ties a customer's payment to your shop's order. It shows payment instructions, tracks the result and helps you decide when to ship. Some managed services also convert the money and arrange settlement, while self-operated software can take Bitcoin straight into your company wallet. Those are different setups, with different work left to you. Ship against the right order and a full, accepted payment, then follow the money until you can spend it. A buyer saying they've sent money doesn't finish the sale, and a refund request doesn't finish a return.
A gateway has three jobs in your shop: collect the right payment, deliver once, and account for what happened.
How does a crypto payment move through a shop?
A sale goes through four steps: you give payment instructions, the customer pays, you decide whether to ship, and you reconcile the books. The order stays yours even when a managed service does much of the payment work. You still need to know what happened to each sale and who tells a buyer their order is unfinished.
A wallet receives and spends funds; the gateway ties that to one particular sale. Bitcoin's glossary describes wallet control and signing and says nothing about stock or delivery.[1] If you're mainly deciding about Bitcoin, our guide to accepting Bitcoin payments goes further.
- 01
Create the priced order
You record the goods, price and order reference, then show the customer the payment method you've enabled and its current instructions.
- 02
Let the customer pay
The customer pays the requested asset on the requested network, to the given address and for the quoted amount, within the quote and payment conditions.
- 03
Verify before fulfilment
Whoever handles orders checks that the right payment has arrived and meets your acceptance rule before the goods go out.
- 04
Reconcile the sale
You record the delivery, what was received, any problems and any returns, and work out whether the money can pay your next bill.
What does checkout tell the customer to pay?
Checkout has to tell the customer exactly what to send and how much for that order, and the units are where it gets confusing. The currency you price in, the crypto amount you ask for, the asset credited to your business and the currency that reaches your bank can all be different.
If you price a candle in Canadian dollars and accept Bitcoin, you haven't collected Canadian dollars in a bank. BTCPay's user guide describes an invoice that fixes an amount and exchange rate for a limited time. Its longer-lived payment request creates a fresh invoice each time someone pays, so an old link doesn't keep an old quote alive.[5]
The payment network matters as much as the token name. CoinGate's refund page lists USDC on several networks, including Ethereum and Base, but whether each one is switched on depends on your account.[21] A coin logo isn't enough to tell customers where to send.
How long a quote is valid, how long the customer has to start paying and how long you wait for acceptance are three different questions. CoinGate's Commercial Policy keeps its quoted fee apart from the checks needed to finish a transaction. It also describes a margin built into payment quotes, so look at the exchange rate shown as well as the fee.[19]
When is the order ready to ship?
Ship when the correct payment has arrived and meets your own acceptance rules. Hold the parcel until then. A customer's screenshot or message can help you investigate, but it doesn't replace a missing payment.
For Bitcoin on its main network, a confirmation helps you tell a transfer that's merely been broadcast from one you can treat as accepted. New blocks arrive at uncertain times, and Bitcoin.org gives no guaranteed minimum or maximum confirmation delay.[2] So decide the policy per sale and payment method. Promising every buyer the same wait commits you to a deadline the network never made.
Not every row fits every setup, since some have no provider balance or bank stage.
| Event | What it shows | Next step and who does it |
|---|---|---|
| Request created | You've asked for payment against an order | Whoever handles orders reserves the stock under your own policy |
| Customer says payment was sent | They report trying to pay | Whoever handles payments finds the payment and matches it to the order |
| Network or provider checking | The payment is detected or being evaluated | Wait until your acceptance rule is met, and look at any exceptions |
| Matching full accepted payment | The right amount arrived the right way and meets your fulfilment rule | Release the parcel once |
| Company-wallet receipt or provider credit | Funds show up in your wallet or provider account | Check that you control them, that they're available and what was deducted, then reconcile |
| Release or bank receipt | A transfer was sent, or your bank credited it | Note which of the two it is before you commit the money |
Providers name these stages differently. At BitPay, paid means a transaction was broadcast, with no payment guarantee for the merchant; your configured confirmation policy governs fulfilment, and complete is when the merchant account is credited.[14] At CoinGate, confirming means it's waiting for network confirmation, and paid means confirmed and credited to the merchant.[18]
BTCPay's wallet settings let the store set its own on-chain confirmation requirement.[3] Ask whoever maintains your store how that requirement maps to your staff's shipping decision, especially if the payment system and the store use different status words. Our ecommerce payment guide covers the stock and delivery side.
Who controls the funds and the checkout?
Who controls what depends on the account, wallet and host you choose. You might be able to spend funds you've already received while someone else controls the server that shows where your next customer should pay.
The self-operated setup we use as the example receives Bitcoin on mainnet into the company's wallet, with the keys to spend kept off the checkout server. BTCPay's user guide contrasts signing outside the server with a server hot wallet, where the ability to spend stays online.[5] Either way, somebody has to run it.
| Setup | Who controls the money | Who does the work | What's still open |
|---|---|---|---|
| Managed merchant account, once the provider approves you | The provider controls the payments and their release under your account terms | The provider runs its service. You keep the store connection, orders and reconciliation going | The company that signs your contract, whether your payment method is switched on, the checks, availability, the full cost and support |
| Self-operated BTCPay with an external company wallet | Bitcoin reaches the company wallet, and whoever holds the external signing keys controls spending | Your company runs the checkout. You reconcile orders and wallet receipts | How it's configured, who covers an incident, and any conversion or bank service you'd add |
| Third-party-hosted setup | Depends on the wallet: an external wallet, a host-held hot wallet and shared Lightning funds each put control in different hands | The host runs the server. You still own the customers, the records and the connection | What access the host has, future receiving instructions, release terms, Lightning liquidity, maintenance and support |
A host can change where your future payments go without holding the keys to your external wallet, and BTCPay warns the same swap is possible if your own server is compromised.[4] So you need to trust the address your buyers are shown, not just control the money already in the wallet.
CoinGate's custody policy says UAB Decentralized holds the keys itself, pools assets in segregated wallets and tracks individual balances in its ledger. That's the provider's own description, not our security audit, an insurance finding or a guarantee that you can reach a balance whenever you need it.[20] A broad custody label also leaves open whether a BitPay Acceptance merchant owns the payer's incoming coins.
Our BTCPay versus BitPay comparison covers that trade-off, and the BTCPay review is the place to start if you're weighing self-hosting.
Can the business use the proposed service?
Before you spend on integration, make sure the provider will take your kind of company and sale. For a managed merchant account, get approved before you rely on it. A company registration, a licence or a currency list doesn't tell you the provider has accepted you.
BitPay's merchant guidance lists US and Canadian applications, with product restrictions, and says new EEA, UK and Australian onboarding is paused.[12] CoinGate's merchant-country list includes Canada, though the company, activity, people and customer checks still apply.[16] A Canadian retailer like the one in the example below could look into both, though neither country statement approves it and one provider's approval says nothing about the other's.
BitPay describes checks on the business, its owners, its website and where the money will go, and bank settlement requires the applicant company's business bank account.[13] CoinGate asks for company documents, verification of the applicant, ID for directors and significant owners, proof of the operating address and an activity questionnaire tailored to your business.[17]
For BitPay Acceptance or CoinGate Standard, the offer has to fit the company that signs the contract, your own company and owners, your customers' countries and what you sell. Selling your own goods and collecting for other sellers are different things. Self-operated software comes with no account approval and no permission to run a financial service.
The processor selection guide is the next step, and the BitPay and CoinGate reviews cover their managed offers in more detail.
What happens to short, late or duplicate payments?
Don't treat an unusual payment as an ordinary paid order until you've sorted it out. Compare the amount due with what arrived, then work out which timing and exception rules apply.
A customer's wallet or exchange may deduct sending costs from what arrives. CoinGate's Underpaid Cover, once you configure it, lets a merchant absorb an allowed shortfall, and the fee is still worked out on the full order amount.[22] You decide how much shortfall the shop can afford, since the feature has no default tolerance and late payments aren't covered by it. Whatever you absorb is lost sale value on top of the fee.
Overpayments and duplicates need handling too. Match them to the right order and note what's still owed, or the return if your setup supports one. Another notification about the same payment isn't another sale, and if one is missing, check the payment and order records before asking the customer to pay again.
BTCPay's user guide calls for validating events and handling retries safely.[5] That's work for whoever maintains the setup; you decide stock, delivery and what customers are told. Our WooCommerce integration guide covers the questions specific to that platform, and a different store will need its own mapping.
When can proceeds pay suppliers, and what does it cost?
You can pay a bill once the money is in a form your business can use. Getting there can take several steps: receipt in the company wallet, a provider credit, conversion, a transfer being sent and arrival at your bank. Know which one your records show.
BitPay's settlement guide treats issuing an eligible settlement and its arrival at your bank as different steps, and it applies minimums that vary by receiving method.[15] A release threshold decides when funds can move, and a fee floor sets a charge; neither promises that money reaches your bank. Which floor applies depends on your own account and how you receive the money.
With self-operated BTCPay, Bitcoin in the company wallet comes with no approved conversion partner and no money in your bank. If a supplier needs bank money, you have to line up a conversion service and read its agreement, and know the receiving account and the deductions, before you count the wallet receipt towards that bill. The fee calculator guide shows why a fee estimate covers only part of the cash picture.
Running it yourself costs money and time too. BTCPay's deployment guidance treats hosting and the software as two things and says continuous operation keeps payment verification current.[6] You'll need staff time, maintenance, backups, extensions and support, including someone to cover an incident when the usual person is away. On top of that come network fees on the customer's side and on your later transfers, Lightning liquidity or services, and what you lose to conversion and to partner and bank costs.
BTCPay's Stores FAQ describes a configurable network-cost charge on invoices, meant for your later movements of the money, which is a different thing from the buyer's own miner fee.[11] Customers should know what's due, so they aren't surprised when their wallet adds its own fee.
Charges nobody quotes can change the final bill: application, setup, monthly and platform fees, custom or high-risk terms, minimums, and what returns, holds and closing the account can cost. Don't apply a manual-exchange tariff to automatic checkout, or a payout price to incoming payments. Our CoinGate fee guide lays out which price belongs to which service. Unknown isn't free.
How does a return reach the customer?
A return is finished when the customer receives the agreed funds. Before that, decide whether they're owed a return under your policy and agree the value and currency before you promise a particular coin amount. You also need the money to be available and someone with authority to send it.
In BTCPay's on-chain flow as its docs describe it, the customer makes a claim, then the return is approved, signed and sent, and a confirmation completes the outgoing payout.[7] On their own, a restocked candle, a refund email or a bookkeeping entry complete none of those steps.
CoinGate describes refunds paid from your balance, with customer confirmation and a value based on the merchandise price and the current crypto rate. The page's "free otherwise" summary conflicts with its own flat-fee wording, so the quote and account conditions aren't clear.[21] You can't promise a free return or the original coin amount on that basis. Bitcoin having no central reversal button says nothing about whether the customer is owed one.
Who keeps it working after launch?
After the pay button goes live, you need someone to run the setup, someone to maintain the store and someone to answer customers, plus cover for when any of them is away. In a small shop one person may fill all those roles, but someone still has to dig into a payment problem while someone else answers the customer.
Lightning changes the job. BTCPay's FAQ discusses incoming capacity and routing-service choices, and a host's shared internal Lightning node receives funds into the host's wallet before redistributing them.[9] That's a different setup from the external company-wallet mainnet case, so don't apply block confirmations or the on-chain return sequence to Lightning.
Recurring payments need an owner too. BTCPay describes reminders the customer pays and renewals deducted from prepaid credit; neither lets anyone debit fresh funds from an outside wallet.[8] A merchant's automatic withdrawal moves its own proceeds, but collecting from customers again means asking them for another payment. If you change providers, the permissions don't come with you. Our Shopify integration guide covers the storefront side.
A managed account needs attention after approval, too. CoinGate's General Terms allow it to ask for updated information, restrict transactions, and suspend or close an account in specified circumstances.[23] If your account is reviewed or you leave, open payments, available balances, customer credits and unfinished returns each need someone responsible, because one release deadline won't clear them all.
Our methodology explains how we weigh what a provider's documents say against how it performs in practice. This guide rests on public documents and a hypothetical story; we haven't run a checkout, made payments or completed returns.
Crypto payment gateway FAQ
What does a gateway do that a wallet doesn't?
What changes between managed and self-operated setups?
Why isn't a sent payment or browser return enough to ship?
What evidence is enough to ship?
Do Bitcoin, Lightning and stablecoin payments follow the same process?
What should happen after expiry, a short payment or a duplicate?
Is the fee the complete cost?
Can company-wallet receipts pay a bank-only supplier?
When is a customer return finished?
What work continues after the checkout is connected?
Sources
23
Numbers in square brackets in the text link to these sources.
- Bitcoin vocabulary: wallets, transactions and confirmations · Checked 2026-10-18
- Bitcoin payment cautions and uncertain confirmation timing · Checked 2026-10-18
- BTCPay wallet spending and confirmation settings · Checked 2026-10-18
- BTCPay hosting and future receiving instructions · Checked 2026-10-18
- BTCPay user guide: orders, wallets and operator responsibilities · Checked 2026-10-18
- BTCPay deployment and continuous operation · Checked 2026-10-18
- BTCPay on-chain refund claims and completion · Checked 2026-10-18
- BTCPay subscriptions: reminders and funded credits · Checked 2026-10-18
- BTCPay Lightning capacity and shared host wallets · Checked 2026-10-18
- BTCPay community and paid support limits · Checked 2026-10-18
- BTCPay store settings and invoice network cost · Checked 2026-10-18
- BitPay merchant onboarding countries · Checked 2026-10-18
- BitPay business, owner, customer and receiving checks · Checked 2026-10-18
- BitPay invoice states and fulfilment settings · Checked 2026-10-18
- BitPay settlements and receiving routes · Checked 2026-10-18
- CoinGate supported merchant countries · Checked 2026-10-18
- CoinGate business and people verification · Checked 2026-10-18
- CoinGate payment states and expiry · Checked 2026-10-18
- CoinGate payment quote and commercial policy · Checked 2026-10-18
- CoinGate custody, pooled wallets and individual records · Checked 2026-10-18
- CoinGate merchant refunds, with conflicting fee wording · Checked 2026-10-18
- CoinGate underpayment cover and the full-order fee base · Checked 2026-10-18
- CoinGate General Terms: eligibility, continuing checks and closure · Checked 2026-10-18
