Guide
How to accept Bitcoin payments on your website
Everything a merchant needs to start taking BTC: how Bitcoin payments work, confirmations, pricing in your own currency, fees and three ways to set it up.
Updated · 6 min read
Bitcoin is the best-known cryptocurrency, and many customers keep some to spend. Accepting it opens your store to buyers in any country, with no card network or chargebacks. This guide explains how Bitcoin payments work for a merchant and how to add them to your site.
How a Bitcoin payment works
- The customer chooses Bitcoin at checkout.
- Your gateway creates an invoice: the order total converted to BTC at the live rate, and a fresh Bitcoin address for that order.
- The customer scans the QR code or copies the address and sends the exact amount from their wallet or exchange.
- The payment appears on the blockchain within seconds and then gets confirmations as new blocks are added.
- Once confirmed, the invoice is marked paid, your server gets a callback, and the BTC is in your balance.
Confirmations and timing
A Bitcoin block arrives about every ten minutes. AywaPay credits a BTC payment after 2 confirmations, so a payment is typically final in around twenty minutes. The payment page shows the customer that it was received while it confirms, so they don't send it twice.
Need faster settlement? Offer USDT on TRON or BNB Smart Chain next to Bitcoin. Those confirm in about a minute. Every coin's confirmation count is listed on the supported coins page.
What about price swings?
Price your products in your own currency. The invoice converts it to BTC at the moment the customer starts paying and holds that amount until it expires, so the customer pays the right price. After that, Bitcoin's price can move while it sits in your balance. Merchants who don't want that exposure withdraw regularly, or steer customers towards stablecoins like USDT and USDC.
Three ways to accept Bitcoin
1. A plugin for your store
On WordPress, the WooCommerce plugin adds "Pay with crypto" to checkout and updates orders automatically. Read the WooCommerce setup guide.
2. Invoices and payment links
No website checkout? Create an invoice in the dashboard and send the link by email or chat. Good for freelancers, agencies and B2B. See crypto invoices.
3. The API
Create an invoice from your server and redirect the customer to the payment page. Pass allowed_psys_cids=BTC to accept only Bitcoin, or leave it out to let the customer choose any coin your store accepts. The API documentation has full examples and a test mode.
curl -G "https://api.aywapay.com/api/v1/invoices/new" \
-d source_currency=EUR -d source_amount=120 \
-d allowed_psys_cids=BTC \
-d order_number=2045 -d order_name="Order 2045" \
--data-urlencode "callback_url=https://yourshop.com/callback?json=true" \
-d api_key=$AYWAPAY_SECRET_KEYFees
The customer pays the Bitcoin network fee when they send. On your side, AywaPay charges 0.5% per payment, with no setup or monthly fees, and withdrawals cost $0.25 plus the network fee. Details on the pricing page.
Launch checklist
- Test the full flow with a test key. You can simulate paid, underpaid and expired invoices.
- Verify callback signatures on your server before fulfilling orders.
- Show a clear "waiting for confirmation" message after the customer pays.
- Turn on 2FA and saved withdrawal addresses in your account.
- Decide where you withdraw to: your own hardware or software wallet, or an exchange.
Frequently asked questions
- Do my customers need a special wallet to pay with Bitcoin?
- No. Any Bitcoin wallet or exchange that can send BTC works. No account with the gateway is needed.
- How long does a Bitcoin payment take to confirm?
- Usually around twenty minutes. AywaPay credits BTC after 2 confirmations, and a block takes about ten minutes on average.
- Can a Bitcoin payment be reversed?
- No. Once confirmed it can't be charged back. Refunds are sent by you, from your balance.