Coinbase Commerse
The official Node.js library for the Coinbase Commerse API.
Table of contents
Node.js versions
Node.js v0.10.48 and above are supported and tested.
Documentation
For more details visit Coinbase API docs.
To start using library, you need to register on Commerce SignUp.
And get your API_KEY
from user settings.
Next init a Client
for interacting with the API. Method accepts 4 params apiKey, baseUrl, apiVersion, timeout only apikey is mandatory.
You can set params later as in example:
var coinbase = ;var Client = coinbaseClient;var clientObj = Client;clientObj;
You can call list, all, create, retrieve, updateById, deleteById
methods from an API resource classes as well as save, delete, insert, update
methods from API resource class instances.
Each API method returns an ApiResource
which representing the JSON response from the API.
Also when the response data is parsed into objects, the appropriate ApiResource
subclasses will be used automatically.
Client support Common API Errors and Warnings handling. All errors occuring during interaction with the API will be raised as exceptions.
Error | Status Code |
---|---|
APIError | * |
InvalidRequestError | 400 |
ParamRequiredError | 400 |
ValidationError | 400 |
AuthenticationError | 401 |
ResourceNotFoundError | 404 |
RateLimitExceededError | 429 |
InternalServerError | 500 |
ServiceUnavailableError | 503 |
Installation
Install with npm
:
npm install coinbase-commerce --save
Usage
var coinbase = ;var Client = coinbaseClient;Client;
Checkouts
Checkouts API docs
More examples how to use charges in the examples/resources/checkout.js
file
Load checkout resource class
var coinbase = ;var Checkout = coinbaseCheckout;
Retrieve
Checkout;
Create
var checkoutData ="name": 'The Sovereign Individual'"description": 'Mastering the Transition to the Information Age'"pricing_type": 'fixed_price'"local_price":"amount": "100.00""currency": "USD""requested_info": "name" "email";Checkout;// orvar checkoutObj = ;checkoutObjname = 'The Sovereign Individual';checkoutObjdescription = 'Mastering the Transition to the Information Age';checkoutObjpricing_type = 'fixed_price';checkoutObjlocal_price ="amount": "100.00""currency": "USD";checkoutObjrequested_info = "name" "email";checkoutObj;
Update
var checkoutObj = ;checkoutObjid = <checkout_id>;checkoutObjname = 'new name';checkoutObj;// orvar newParams ="name": 'New name';Checkout;
Delete
var checkoutObj = ;checkoutObjid = <checkout_id>;checkoutObj;// orCheckout;
List
var params =limit: 2order: 'desc';Checkout;
Get all checkouts
var params =order: 'desc';Checkoutallparams {console;console;};
Charges
Charges API docs
More examples how to use charges in the examples/resources/charge.js
file
Load charge resource class
var coinbase = ;var Charge = coinbaseCharge;
Retrieve
Charge;
Create
var chargeData ="name": "The Sovereign Individual""description": "Mastering the Transition to the Information Age""local_price":"amount": "100.00""currency": "USD""pricing_type": "fixed_price"Charge;// orvar chargeObj = ;chargeObjname = "The Sovereign Individual";chargeObjdescription = "Mastering the Transition to the Information Age";chargeObjlocal_price ="amount": "100.00""currency": "USD";chargeObjpricing_type = "fixed_price";chargeObj;
List
Charge;
Get all charnges
Chargeall{} {console;console;};
Events
Events API Docs
More examples how to use charges in the examples/resources/event.js
file
Load event resource class
var coinbase = ;var Event = coinbaseEvent;
Retrieve
Event;
List
Event;
Get all events
Eventall{} {console;console;};
Using Promises
Every method returns a promise. You can use promise instead of callback
// Try create and retrieve created chargevar chargeObj ="description": "Mastering the Transition to the Information Age""metadata":"customer_id": "id_1005""customer_name": "Satoshi Nakamoto""name": "Test Name""payments":"pricing_type": "no_price";chargeObj;
Webhooks
Coinbase Commerce signs the webhook events it sends to your endpoint, allowing you to validate that they were not sent by a third-party.
You can find a simple example of how to use this with Express in the examples/webhook
folder
Verify Signature header
var isVerified = Webhook
Testing and Contributing
Any and all contributions are welcome! The process is simple: fork this repo, make your changes, run the test suite, and submit a pull request. To run the tests, clone the repository and then run all tests:
npm installnpm run test
License
MIT