Culqi, zero-runtime-dependency SDK for integrating Culqi’s REST API in
Node.js projects.
The library ships with API v2 resources and is scaffolded to support future
versions side by side.
The SDK Supports NodeJS version 22 or higher.
npm install culqi-nodejs
import { CulqiClient } from 'culqi-nodejs';
const culqi = CulqiClient.init({
publicKey: process.env.CULQI_PUBLIC_KEY!,
secretKey: process.env.CULQI_SECRET_KEY!,
apiVersion: '2',
});
const { id: tokenId } = await culqi.tokens.create({
card_number: '4111111111111111',
cvv: '123',
expiration_month: '07',
expiration_year: '2027',
email: '[email protected]',
});
await culqi.charges.create({
amount: 1000,
currency_code: 'PEN',
source_id: tokenId,
email: '[email protected]',
});
Command | Description |
---|---|
npm run build |
Compile TypeScript to dist/ |
npm test |
Run unit tests + coverage (Jest) |
npm test:e2e |
Run E2E tests against Culqi sandbox¹ |
npm run lint |
Lint codebase with ESLint v9 (Flat Config) |
npm run format |
Format code with Prettier |
¹ Requires CULQI_PUBLIC_KEY
and CULQI_SECRET_KEY
environment variables.
(high-level; paths may vary)
├─ src/
│ ├─ client/
│ │ ├─ culqi-client.ts
│ │ └─ http-client.ts
│ ├─ examples/
│ │ ├─ cards
│ │ ├─ charges
│ │ └─ ...
│ ├─ resources/
│ │ └─ v2/
│ │ │ ├─ cards.resource.spec.ts
│ │ │ ├─ cards.resource.ts
│ │ │ ├─ charges.resource.spec.ts
│ │ │ ├─ charges.resource.ts
│ │ │ └─ ...
│ │ ├─ base.resource.ts
│ ├─ types/
│ │ ├─ v2/
│ │ │ ├─ cards.ts
│ │ │ ├─ charges.ts
│ │ │ └─ ...
│ │ ├─ resource.ts
│ ├─ utils/
│ │ └─ resource-factory.ts
│ └─ index.ts
├─ tests/
│ ├─ resources/
│ │ └─ v2/
│ │ ├─ cards.e2e.spec.ts
│ │ ├─ charges.e2e.spec.ts
│ │ └─ ...
│ └─ e2e.config.ts
└─ ...
- Create token
- Get tokens
- Get token
- Update token
- Create token (Yape)
- Create charge
- Get charges
- Get charge
- Update charge
- Capture charge
- Create refund
- Get refunds
- Get refund
- Update refund
- Create customer
- Get customers
- Get customer
- Update customer
- Delete customer
- Create card
- Get cards
- Get card
- Update card
- Delete card
- Create plan
- Get plans
- Get plan
- Update plan
- Delete plan
- Create subscription
- Get subscriptions
- Get subscription
- Update subscription
- Cancel subscription
- Create order
- Get orders
- Confirm order
- Confirm order type
- Get order
- Update order
- Delete order
- Get events
- Get event
- Get operations
- Get deposits
- Get deposit
- Get billings
- Code & Types are namespaced by API version (
src/types/v2
,src/resources/v2
). - If Culqi ever ships an API v3, we’ll simply add new types and resources inside a
v3
namespace without breaking applications that remain on v2.
MIT © 2025 Francisco Luis Rios Vega