Note: This repository is not actively maintained.
A button to embed a Coinbase Commerce checkout or charge directly into your React application.
npm i -S react-coinbase-commerce
- Connect your Coinbase Commerce account to easily accept cryptocurrencies from within your application.
- Support for embedding individual charges or entire checkouts
- Callback APIs for successful and failed payments.
- No API key required
import CoinbaseCommerceButton from 'react-coinbase-commerce';
import 'react-coinbase-commerce/dist/coinbase-commerce-button.css';
const App = () => {
return (
<CoinbaseCommerceButton checkoutId={'My checkout ID'}/>
)
};
- To start accepting digital currency payments, first register for a Coinbase Commerce account here.
- Whitelist your domain in Settings.
- Follow the API Documentation here to create a charge or checkout.
- Alternatively, create a checkout from the merchant dashboard and copy the ID found in the checkout's details.
- Pass the ID of the charge or checkout you create to the
CoinbaseCommerceButton
component - That's it! You're ready to start accepting digital currency payments with Coinbase Commerce
In addition to the regular button
props, this component accepts some custom props:
Prop Name | default | required | type |
---|---|---|---|
styled |
false | no | boolean |
checkoutId |
nil | If no chargeId, yes | string |
chargeId |
nil | If no checkoutId, yes | string |
onLoad |
nil | no | ()=>void |
onChargeSuccess |
nil | no | (MessageData)=>void |
onChargeFailure |
nil | no | (MessageData)=>void |
onPaymentDetected |
nil | no | (MessageData)=>void |
onModalClosed |
nil | no | ()=>void |
disableCaching |
false | no | boolean |
customMetadata |
nil | no | string |
Warning: If disableCaching
is set to true
, users that accidentally close their payment windows will be unable to see their transaction's status upon reopening.
type MessageData = {
event: 'charge_confirmed' | 'charge_failed' 'payment_detected',
code: <CHARGE_CODE>
}