Official Node.js SDK for Billingrails API - Flexible, composable, and intuitive API-first commerce platform
npm install @billingrails/node


Official Node.js SDK for Billingrails - Flexible, composable, and intuitive API-first commerce platform.
``bash`
pnpm add @billingrails/node
Or with npm:
`bash`
npm install @billingrails/node
Or with yarn:
`bash`
yarn add @billingrails/node
`typescript
import { Billingrails } from '@billingrails/node';
// Initialize the client
const client = new Billingrails({
apiKey: 'your-api-key',
});
// List accounts
const listResponse = await client.accounts.list();
console.log(listResponse.accounts);
// Create an account
const createResponse = await client.accounts.create({
name: 'John Doe',
email: 'john@example.com',
country: 'US',
default_currency: 'USD',
});
console.log(createResponse.account);
// Retrieve an account
const retrieveResponse = await client.accounts.retrieve('acc_123');
console.log(retrieveResponse.account);
// Update an account
const updateResponse = await client.accounts.update('acc_123', {
name: 'Jane Doe',
});
console.log(updateResponse.account);
// Get account balances
const balancesResponse = await client.accounts.getBalances('acc_123');
console.log(balancesResponse.balances);
// Debit an account
const debitResponse = await client.accounts.debit('acc_123', {
amount: 1000, // Amount in cents
currency: 'USD',
});
console.log(debitResponse.balances);
`
`typescript`
const client = new Billingrails({
apiKey: 'your-api-key',
});
`typescript`
const client = new Billingrails({
apiKey: 'your-api-key',
baseUrl: 'https://api.billingrails.com/v1', // Production URL
timeout: 30000, // Request timeout in milliseconds
maxRetries: 3, // Maximum number of retries for failed requests
});
The SDK throws BillingrailsError for API errors:
`typescript
import { Billingrails, BillingrailsError } from 'billingrails';
try {
const retrieveResponse = await client.accounts.retrieve('invalid_id');
} catch (error) {
if (error instanceof BillingrailsError) {
console.error('API Error:', error.message);
console.error('Error Code:', error.code);
console.error('Status Code:', error.statusCode);
console.error('Details:', error.details);
}
}
`
The SDK is written in TypeScript and includes full type definitions:
`typescript
import type { Account, AccountCreate, AccountUpdate } from 'billingrails';
const accountData: AccountCreate = {
name: 'John Doe',
email: 'john@example.com',
};
const createResponse = await client.accounts.create(accountData);
`
`bashInstall dependencies
pnpm install
- Node.js >= 18.0.0
- TypeScript >= 5.0.0 (for TypeScript projects)
MIT
For support, please contact ugo@billingrails.com or visit our documentation.