{"id":18206,"library":"checkbook-api-ts","title":"Checkbook.io Node.js API Library","description":"A Node.js library for integrating with the Checkbook.io API to send digital, physical, and direct checks, manage invoices and subscriptions, and handle ACH payments. Version 1.0.0 is stable with a callback-based API. Requires Node >=4, no external runtime dependencies. Key differentiators: supports multiple check types (digital, physical, direct), CSV batch sending, idempotency keys, and OAuth bearer tokens. Release cadence is unknown. Alternatives include direct REST calls or other libraries, but this is the official Checkbook.io wrapper.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/Precise-Finance/checkbook_node","tags":["javascript","checkbook","digital checks","digital payments","api","ach"],"install":[{"cmd":"npm install checkbook-api-ts","lang":"bash","label":"npm"},{"cmd":"yarn add checkbook-api-ts","lang":"bash","label":"yarn"},{"cmd":"pnpm add checkbook-api-ts","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package uses CommonJS; no default export for ESM.","wrong":"import checkbook from 'checkbook-api';","symbol":"CheckbookAPI","correct":"const checkbook = require('checkbook-api');"},{"note":"Constructor requires api_key and api_secret (or bearer) object.","wrong":"const Checkbook = new Checkbook();","symbol":"CheckbookAPI constructor","correct":"const Checkbook = new CheckbookAPI({ api_key: '...', api_secret: '...' });"},{"note":"Methods are namespaced under endpoints like Checkbook.checks.","wrong":"Checkbook.sendDigitalCheck(params, callback);","symbol":"checks.sendDigitalCheck","correct":"Checkbook.checks.sendDigitalCheck(params, callback);"}],"quickstart":{"code":"const CheckbookAPI = require('checkbook-api');\nconst Checkbook = new CheckbookAPI({\n  api_key: 'd6aa2703655f4ba2af2a56202961ca86',\n  api_secret: 'dXbCgzYBMibj8ZwuQMd2NXr6rtvjZ8',\n  env: 'demo'\n});\nCheckbook.checks.sendDigitalCheck({\n  name: 'Widgets Inc.',\n  recipient: 'widgets@example.com',\n  description: 'Test Send Check',\n  amount: 10.00\n}, function(err, res) {\n  if (err) console.log('Error:', err);\n  else console.log('Response:', res);\n});","lang":"javascript","description":"Initializes the Checkbook.io client with demo credentials and sends a digital check via callback."},"warnings":[{"fix":"Wrap with new Promise: new Promise((resolve, reject) => Checkbook.checks.sendDigitalCheck(params, (err, res) => err ? reject(err) : resolve(res)))","message":"All API methods use callbacks, not promises. Use util.promisify or wrap for async/await.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Always specify env when using test credentials: env: 'demo'","message":"Environment parameter 'env' defaults to production if omitted, but demo sandbox keys only work with env: 'demo' or 'sandbox'.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use bearer in constructor: new CheckbookAPI({ bearer: '...', env: 'demo' })","message":"OAuth bearer token is set as 'bearer' property, not 'api_key' and 'api_secret'.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Call method with three arguments: sendDigitalCheck(params, callback, idempotencyKey)","message":"Idempotency key is optional third argument; passing it as part of params will be ignored.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use const CheckbookAPI = require('checkbook-api');","cause":"Using import instead of require with CommonJS package.","error":"TypeError: Checkbook is not a constructor"},{"fix":"Add env: 'demo' to the constructor options.","cause":"Using demo credentials without setting env: 'demo'.","error":"Error: Invalid API credentials"},{"fix":"Provide a callback function as the last argument.","cause":"Calling a method without a callback function.","error":"UnhandledPromiseRejectionWarning: TypeError: callback is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}