Table of Contents
Note for new accounts: Our Coinbase integration makes use of their earlier V1 API, which Coinbase appear to no longer support for their accounts. We are working to upgrade our integration to use their new API, please reach out to let us know if you'd like to be notified when that is released. As an alternative, we also have an integration with BitPay which you may be able to use instead.
Subscriptions are not supported with Coinbase at this time. If you intend to sell subscriptions with your FoxyCart store, you will need to make use of another payment gateway.
Setting Up Coinbase for FoxyCart
There are a few advanced settings possible on the Coinbase side, but this is the minimum to get you going:
- Create an account with Coinbase (if you already have one, you may wish to start a new wallet for FoxyCart purchases). We strongly suggest using two-step verification to better secure your account.
- From within Coinbase: Select Settings/API Access. Click the button “+ New API Key”.
- In the New API Key window, under the Accounts heading, select which wallet you want purchases to go into.
- Under the Permissions heading (for API version 1 if you see multiple versions) select “Merchant” only.
- Under the Security Settings heading, leave the Allowed IP Addresses blank.
- Click Create.
- Your new API key will show up in the API Key list, but it is disabled initially. You must click enable and you will be emailed a code to enable the API Key. Paste in the code and you have an active key.
- Note that the key is truncated in the API Key list, click on it to see the full API Key and API Secret.
- In a separate browser window open your FoxyCart settings and go to STORE/payment, select “Let customers pay with Coinbase:”, paste in your API Key and Secret Key. Then click “Update Payment Gateway”.
- Now back to Coinbase, where you have one final step before you can accept purchases: From your home account page select “Merchants” in the left sidebar. You must set up all of the info in the Profile tab (e.g. company name, logo, contact info and tax ID).
- Test, test, test.
Obtaining a Test Account
Coinbase currently do not provide test accounts. This means that even if your gateway settings in your store's FoxyCart administration may be set to Test Servers, any transactions placed with Coinbase would be legitimate transactions with real Bitcoin.
In order to test a transaction with Coinbase, you could create a custom $1 product for your store, and complete the transaction with Coinbase to confirm everything is working as expected.
Troubleshooting & Interpreting Response Codes
Contact Coinbase for info. Know more? Feel free to edit this page with info.
If you do not configure your Merchants/Profile in Coinbase, you will not be able to complete a FoxyCart purchase. You, or your enduser/customer, will see an error code instructing you to set up your merchant profile.
Important Notes and Caveats
Possible Action: Datafeed Handling
At the time of the customer completing the transaction - we don't necessarily know whether the transaction was completed yet or not. We instead rely on a notification from the gateway after the checkout has been completed to confirm whether the transaction was approved or not. To handle this, transactions are initially marked as pending, and when we get a confirmation from the gateway on the result of the transaction, we update it accordingly. Each time the status changes, a datafeed will be sent to your endpoint if configured with the transaction details and the
status node will be present.
status node can contain one of three different values:
rejected. Depending on the types of actions you're needing to perform at your datafeed endpoint, you need to make sure the appropriate status value is present first.
Instant Exchange is a Coinbase feature that allows you to accept Bitcoin, but have it instantly converted to currency (e.g. USD) and deposited to the bank account of your choice. This could significantly reduce your exposure to exchange rate fluctuations, but it comes at a price. As of March 4, 2015 the fees associated with this service is 1% + $0.15 per transaction. Keeping your payments in Bitcoin are free of transaction fees. More info: https://developers.coinbase.com/docs/merchants/payouts
I asked Coinbase about the API Key permissions to set and this was their reply:
The Merchant permission is all you need, and the only one that you should select in order to configure your FoxyCart account.
This will allow the following actions: Create payment buttons and forms, view your basic user information, edit your merchant settings, and generate new receive addresses
You shouldn’t need to restrict the server IP, both because the IP address Foxy uses may actually change, and because there is no risk of this key being used to move funds from your account.
I hope that helps! If you need further assistance, please let me know.
—John @ Coinbase
User Notes and Experiences
If you have tips, experience, or helpful notes related to this gateway that would benefit others, please add them below, including your name and the date. We reserve the right to edit or remove comments that don't add value to this page.