Skip to content
Payfim - Secure. Simple. Yours.
Coins

How to accept Bitcoin payments on your website

To accept Bitcoin, give each order a payment request that points to a receiving address in a wallet you control, then confirm the payment on-chain before shipping. Payfim automates that on your own server with no processor in between and no percentage fee.

PFPayfim Team · September 29, 2026 · 6 min read
How to accept Bitcoin payments on your website
Key takeaways
  • Bitcoin is the coin customers ask for by name, and it suits larger orders best.
  • As of September 2026, network fees were low (roughly 1-3 sat/vB recommended), but they rise when blocks fill up.
  • Payfim watches the chain through mempool.space with no API key and marks an order paid after 1 confirmation by default.
  • Use a bc1 address from a hardware wallet or a non-custodial wallet, never a rotating exchange deposit address.

Bitcoin (BTC) is the first and best-known cryptocurrency. For a merchant it works like a bank transfer that settles directly to you: the customer sends coins to your address, the network records it, and nobody can pull the money back afterwards. This page covers what that costs, how long it takes, and how to set it up in Payfim.

Why do merchants accept Bitcoin?

The honest answer is demand. When a shopper looks for a "pay with crypto" button, Bitcoin is usually the coin they already hold. A few practical reasons follow from that:

The trade-off is price movement. BTC is volatile, so many stores also offer a stablecoin such as USDT on TRON next to Bitcoin. Our guide on choosing which coins to accept walks through that decision.

How much does it cost to accept Bitcoin?

Payfim charges no transaction fee. The only cost is the Bitcoin network fee, and the customer pays it from their wallet when they send.

That fee is priced per unit of transaction size (satoshis per virtual byte), not per dollar sent. As of late September 2026 the mempool was quiet: mempool.space recommended roughly 1 to 3 sat/vB, and BitInfoCharts showed a median fee of a few cents. Those figures change quickly. During busy periods, such as after a sharp price move, fees can climb to several dollars for a few hours and fall again once the backlog clears.

For a comparison with card processing costs, see crypto vs card payment fees.

How long does a Bitcoin payment take?

Bitcoin targets one block about every 10 minutes, and BitInfoCharts measured an average close to that in September 2026. Individual gaps vary a lot; a 30-minute wait for the next block happens.

In Payfim the checkout page switches to confirming as soon as the transaction appears in the mempool, so the customer knows it was received. The invoice becomes paid once the transaction has the configured number of confirmations. Blockchain confirmations explained covers how to pick that number.

Which wallet should receive the payments?

Use a wallet where you, and only you, hold the recovery phrase:

Avoid pasting a deposit address from an exchange account. Exchanges can rotate those addresses, and their systems are not built to credit a stream of customer payments with odd amounts. Payfim never needs your private key or seed phrase, only the public receiving address.

How to set up Bitcoin in Payfim

  1. Install the gateway on your hosting if you have not yet (install guide).
  2. Open Wallets & coins in the gateway dashboard and paste your address into the Bitcoin row. Native SegWit (bc1q…), Taproot (bc1p…) and legacy addresses starting with 1 or 3 all pass the format check.
  3. Leave the confirmations box empty to use the default of 1, or type a higher number.
  4. Switch Bitcoin on, click Save wallets, then Test to check the gateway can reach the blockchain.

No API key is needed. Payments are read from the public mempool.space API; if you run your own Esplora server you can point Bitcoin Esplora URL under Blockchain APIs at it instead.

Because all invoices share your one address, Payfim gives each open invoice a slightly unique amount (a few extra satoshis, worth at most about 5 cents by default). That tiny difference is how a payment gets matched to the right order, and a single transaction can never be credited to two invoices.

What should you raise confirmations to for large orders?

One confirmation is a reasonable default for everyday online orders. For high-value goods, several confirmations make a reversal through a chain reorganization far less likely. Many merchants use a higher setting only when the average order is large. The setting is per coin, so raising it for BTC does not slow down your other coins.

Common Bitcoin payment mistakes

Where to go next

Bitcoin works with every Payfim module, including the WooCommerce plugin and the WHMCS module. If you are weighing a self-hosted setup against a processor, read accepting Bitcoin without a payment processor or compare Payfim and BTCPay Server. The full list of networks is on supported coins.

Sources

Third-party facts were checked on the date shown above. Prices and features of other services change - always confirm on their official pages.

  1. mempool.space fee estimates
  2. BitInfoCharts: Bitcoin median transaction fee
  3. BitInfoCharts: network statistics and block times

Frequently asked questions

Do I need a Bitcoin node or an API key?

No. Payfim reads Bitcoin transactions from the public mempool.space API without a key. You can point it at your own Esplora server if you prefer.

Which Bitcoin address types can I use?

Addresses starting with bc1 (SegWit and Taproot), 1 or 3. Payfim checks the format when you save it.

How many confirmations does Payfim wait for?

One by default. You can set any number per coin in Wallets & coins; leaving the box empty keeps the default.

Does Payfim support the Lightning Network?

No. The Bitcoin option verifies on-chain transactions only.

What if a customer sends too little?

If the shortfall is beyond the tolerance (0.5% by default) the invoice is marked underpaid, the store is notified, and the order is not marked paid. You decide whether to request the difference or refund.

Accept crypto on your store today

Self-hosted, non-custodial, zero fees. Lifetime license.