Overview
Coinbase commerce allow you accept Bitcoin, Ethereum, DAI, Litecoin, Bitcoin Cash, or USD Coin. Cryptocurrencies have dramatically lowered the barrier to accepting payments on the web. Coinbase Commerce makes it easier than ever to accept cryptocurrency in the way cryptocurrencies were designed to be accepted: in a truly peer-to-peer fashion.
Create a Coinbase Account
If you don't already have an account or service with Coinbase, you'll need to create an account by going to https://commerce.coinbase.com and clicking Get Started.
API Key
First login to your Coinbase Commerce account, click on Settings, Create and copy the API key. Then in your store admin Navigate to Tools > Apps & Addons > Coinbase and paste in the API key.
Setup Webhook
In your Coinbase account, go to Settings > Webhook subscriptions click on "Show shared secret" and copy it to your store admin in Tools > Apps & Addons > Coinbase App Settings.
Next Click on "Add an endpoint" in in your Coinbase account under Webhook Subscriptions. and copy the Webhook Endpoint from your Coinbase App settings in your store admin and paste it to the endpoint url.
Click on the details link next to the Webhook you just added. Then click on Edit Events, enable charge:confirmed and charge:failed.
Once that is done go back to Coinbase in your store admin, click Integration Active.
You are ready to accept payment using Coinbase!
Order Payments
When a customer chooses Coinbase as their payment method and clicks Place Order, your store will:
- Create the order and immediately redirect the customer to the Coinbase Pay page.
- Set the order status to Awaiting Payment and the transaction status to Pending.
- Generate a Transaction Code, which will appear in the payment area. Note: This code is not a confirmation of payment — only an indication that Coinbase received the payment request.
After the customer submits payment on Coinbase:
- Coinbase processes the transaction and sends a response to your store via the Webhook Endpoint you configured.
- Your store will automatically update the order status based on the response — to either Approved or Declined.
Important: Once the customer is redirected to Coinbase, the payment process is fully handled by Coinbase. For detailed transaction status and confirmations, refer to your Coinbase Commerce dashboard.
Please note there may be a delay of up to an hour between payment completion and status update, depending on the cryptocurrency and network traffic.
Troubleshooting
If you don't see Coinbase payment option in your checkout page:
- Make sure you enabled Coinbase for your store.
- Make sure the merge code is in your checkout theme page.
For Foundation Theme:
Merge code for One Page Checkout theme page:
<!-- Coinbase Payment Method -->
<div class="checkout-coinbaseWrap payment-method Coinbase list-group-item list-group-item-action hide">
<div class="checkout-coinbase">
<div data-payment-name="Coinbase" class="checkout-coinbase-header payment-name row m-0 align-items-center">
<img class="col-auto p-0" height="20px" src="/store/images/coinbase.png">
</div>
<ac:visibilityarea id="CoinbaseArea">
<div class="checkout-coinbase-body card-body">
<span class="checkoutcoinbase-placeOrder">
You will be redirected to Coinbase to complete payment once you have clicked <strong>Place Order</strong>.
</span>
</div>
</ac:visibilityarea>
</div>
</div>
<!-- END CoinbasePayment Method -->
For other V2 themes
Merge code for One Page Checkout theme page:
<div class="payment-method Coinbase hide">
<div class="panel pad-20">
<div data-payment-name="Coinbase" class="payment-name h4 bold">
<img height="25px" src="/store/images/coinbase.png">
</div>
<ac:visibilityarea id="CoinbaseArea">
<div class="pad-t-20 Coinbase-text">
<p>
You will be redirected to Coinbase to complete payment once you have clicked <strong>Place Order</strong>.
</p>
</div>
</ac:visibilityarea>
</div>
</div>