# Install this plugin
npm install @pinelab/vendure-plugin-coinbase
Vendure Coinbase plugin
Accept crypto payments via Coinbase Commerce in Vendure.
Getting started
Add the plugin to your vendure-config.ts
:
import { CoinbasePlugin } from "@pinelab/vendure-plugin-coinbase"
plugins: [
CoinbasePlugin,
...
];
2. Set API key in Vendure
- Start your server
- Go to the Admin UI > Settings > Payment methods and add a payment method with handler
coinbase-payment-handler
- Set your Coinbase API key. You can find your API key at https://beta.commerce.coinbase.com/settings/security
- Set your desired storefront redirectUrl, something like
https://storefront/order/
. Your customer will be redirected to this page + order code:https://storefront/order/897HH7HG7
- Save the payment method
3. Set webhook in Coinbase
- Go to https://beta.commerce.coinbase.com/settings/notifications
- Add a new webhook with endpoint
https://<your-vendure-server>/payments/coinbase
4. Storefront usage
You can now call the mutation createCoinbasePaymentIntent
to get a redirectUrl to the Coinbase hosted checkout page.
You can redirect your customer to this URL, so your customer can continue making a payment on the Coinbase platform.
After payment the customer will be redirected to https://storefront/order/897HH7HG7
Notes
Orders are NOT transitioned to
PaymentSettled
directly after Coinbase redirects the customer to the confirmation page, because crypto transactions can take some time to confirm. You should notify your customer with a message that the order will be handled when their transaction is confirmed. This can take a few minutes.Refunds are not supported. If you want to refund a payment done via Coinbase you need to manually do so. This plugin will not do refunds via Coinbase.