eCommerce Plugins
Accept crypto payments from any wallet and get paid in your local currency, crypto, or both. This page covers what an integration involves end to end: how money moves, which build path fits your team, and what to expect from kickoff to launch.
Two terms to knowInvoice: The payment itself. Every BitPay payment happens on an invoice. It locks the amount and exchange rate and tracks the payment's status.
Bill (optional): An invitation to pay, emailed by BitPay or delivered by you. When the customer opens it, it creates an invoice.
How a payment works
Whichever way you integrate, every payment follows the same five steps. Your integration is responsible for steps 1 and 4.
- You create an invoice (your system): from your checkout via API, SDK or plugin, from the Dashboard, or by sending a Bill.
- Customer pays: they open the invoice and pay from any supported wallet or exchange app.
- BitPay confirms & notifies: we watch the blockchain and send a webhook to your server when the invoice status changes.
- You fulfill (your system): ship the order, credit the balance or mark the bill paid when the status you've chosen arrives.
- You get settled: funds land in your merchant ledger and settle to your bank or wallet in fiat, crypto or a split.
The data flow behind it
Which systems talk to each other, and in what order. Your integration makes the calls from Your system; the customer and BitPay handle the rest.
sequenceDiagram
participant C as Customer
participant M as Your system
participant B as BitPay
participant K as Your bank / wallet
C->>M: Checks out or tops up
M->>B: Creates invoice (API)
B-->>M: Returns invoice URL
M->>C: Shows the invoice
C->>B: Pays from any wallet
B-->>M: Webhook: status update
M->>B: Fetches invoice to verify
M->>C: Ships or credits balance
B->>K: Settles funds
Invoice statuses
new → paid → confirmed → complete · or ended: expired, invalid
By default, webhooks are sent for paid, confirmed and complete. Most businesses fulfill on confirmed. You control how fast an invoice reaches it with transactionSpeed, trading speed against risk. See Invoice states and Invoice webhooks.
Choose your integration path
Four ways in, from no code to full control. Everything except the Dashboard runs on the same REST API, so you can start simple and move down this list later.
No code. Send Bills and create invoices from the BitPay Dashboard, or paste a payment button into any web page. Best for invoicing, donations and low volume.
Low code. Install and configure. Built and maintained by BitPay for Magento 2, Shopify, WooCommerce, BigCommerce and WHMCS.
Developer. Official libraries handle authentication and request signing for you, in C#/.NET, Java, Node.js, PHP and Python.
Developer. Direct access to every endpoint, for languages without an SDK or teams that want full control.
How teams put it to work
The flow is the same for everyone; the decisions along it change with what you sell and who pays you. Here's how it plays out for a few of the businesses we work with.
Usually starts with a plugin, or an SDK if the platform isn't supported. Decides whether checkout redirects to the invoice or opens it in a modal, how invoice statuses map to order statuses, and how refunds are issued.
Usually builds on an SDK or the REST API inside its own app. Decides whether to credit the balance on paid or confirmed, fixed or open load amounts, and which identity checks it owns versus BitPay.
Usually starts in the Dashboard and moves to the Bills API as volume grows. Decides whether BitPay emails Bills or they deliver them, how paid invoices reconcile with accounting, and the fiat/crypto settlement split.
Planning something different? Talk to our sales team →
Your integration journey
For partner integrations, a BitPay integration manager works with you through four phases. Before kickoff, name your team: an engineering lead, a product or business owner, and someone from finance.
Kickoff call. Agree on business goals, integration path, marketing plans and a go-live date.
Done when: milestones are signed off.
Develop in sandbox. Review settlement, refunds and UX best practices, and apply brand guidelines.
Done when: the full flow works in sandbox.
BitPay reviews your data flow and branding, then you run end-to-end tests in sandbox and production.
Done when: certified and launch date set.
Go live with marketing support. We monitor early transactions with you, then hand off to account management.
Done when: handed to your account manager.
What certification testsA paid invoice, an expired invoice, an underpayment and an overpayment, a refund, a missed webhook that you recover by fetching the invoice, and BitPay branding at checkout. See the setup and testing guide →
Quick start in sandbox
Get your first test invoice working before kickoff. Sandbox uses test networks, so no real money moves.
- Create a sandbox account. Sign up at test.bitpay.com and generate an API token.
- Set up a test wallet. Any wallet that supports testnet coins, so you can pay your own invoices.
- Install an SDK and create an invoice. Point notifications at a URL your server can receive.
- Pay it and watch the webhooks. Confirm each status arrives and your system reacts.
const client = Client.createPosClient('yourPosToken');
const invoice = new Invoice(25.0, 'USD');
invoice.orderId = 'order-1234';
invoice.notificationURL = 'https://example.com/webhooks/bitpay';
invoice.redirectURL = 'https://example.com/orders/1234';
const createdInvoice = await client.createInvoice(invoice);
// Send the customer here to pay
console.log(createdInvoice.url);See the Node.js SDK reference for the merchant facade and the other languages.
Common questions
Do we take on crypto price risk?
Not if you settle in fiat. The exchange rate is locked when the invoice is created.
Are there chargebacks?
No. Crypto payments are final. Refunds happen only when you issue them.
Which coins can customers pay with?
More than 100 coins and tokens across major networks. See wallets by currency.
What does it cost?
Pricing depends on your business and volume. To learn more, contact our sales team.
Ready to build?
Start in sandbox today, or talk to our integrations team about a partner integration.
Updated 1 day ago
