react-coinbase-commerce-modal
v1.3.2
Published
A react component to easily embed a Coinbase Commerce Checkout within your application... but just the modal
Downloads
420
Maintainers
Readme
Coinbase Commerce React Modal
A modal to embed a Coinbase Commerce checkout or charge directly into your React application.
npm i -S react-coinbase-commerce-modal
Features
- 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
Table of Contents
Usage
import CoinbaseCommerceModal from 'react-coinbase-commerce-modal';
const App = () => {
return (
<CoinbaseCommerceModal checkoutId={'My checkout ID'} showModal={!!showMyModal}/>
)
};
Getting Started
- 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
CoinbaseCommerceModal
component - That's it! You're ready to start accepting digital currency payments with Coinbase Commerce
Docs
Props
| Prop Name | default | required | type |
|-----------------|---------|-----------------------|-----------------------|
| showModal
| false | no | boolean
|
| 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.
Data Types
type MessageData = {
event: 'charge_confirmed' | 'charge_failed' 'payment_detected',
code: <CHARGE_CODE>
}