The Paylio Node.js SDK provides convenient access to the Paylio API from applications written in server-side JavaScript and TypeScript.
See the Paylio API docs.
- Node.js 18+
npm install paylioimport { PaylioClient } from "paylio";
const client = new PaylioClient("sk_live_xxx");
// Retrieve current subscription
const sub = await client.subscription.retrieve("user_123");
console.log(sub.status); // "active"
console.log(sub.plan.name); // "Pro Plan"
console.log(sub.plan.amount); // 999
client.close();const { PaylioClient } = require("paylio");
const client = new PaylioClient("sk_live_xxx");
const sub = await client.subscription.retrieve("user_123");
console.log(sub.status);
client.close();const history = await client.subscription.list("user_123", {
page: 1,
pageSize: 10,
});
for (const item of history.items) {
console.log(item.plan_name, item.status);
}
console.log(history.hasMore);// Cancel at end of billing period (safe default)
const result = await client.subscription.cancel("sub_uuid");
console.log(result.success);
// Cancel immediately
await client.subscription.cancel("sub_uuid", { cancelNow: true });const client = new PaylioClient("sk_live_xxx", {
baseUrl: "https://custom-api.example.com/v1",
timeout: 60_000, // 60 seconds
});import {
PaylioClient,
AuthenticationError,
NotFoundError,
RateLimitError,
PaylioError,
} from "paylio";
const client = new PaylioClient("sk_live_xxx");
try {
await client.subscription.retrieve("user_123");
} catch (error) {
if (error instanceof AuthenticationError) {
console.error("Invalid API key:", error.message);
} else if (error instanceof NotFoundError) {
console.error("Subscription not found:", error.message);
} else if (error instanceof RateLimitError) {
console.error("Rate limited, try again later");
} else if (error instanceof PaylioError) {
console.error(`API error ${error.httpStatus}: ${error.message}`);
}
}
client.close();| Error | HTTP Status | Description |
|---|---|---|
AuthenticationError |
401 | Invalid or missing API key |
InvalidRequestError |
400 | Bad request parameters |
NotFoundError |
404 | Resource not found |
RateLimitError |
429 | Rate limit exceeded |
APIError |
5xx | Server error |
APIConnectionError |
— | Network or connection failure |
All errors extend PaylioError, which extends Error.
npm install
npm test
npm run typecheck
npm run lintMIT