> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc-business.easytransfert.app/llms.txt
> Use this file to discover all available pages before exploring further.

# NodeJS

## Installation

Le SDK NodeJS peut être installé via [npm](https://www.npmjs.com/package/@easytransfert/sdk-api-marchand-nodejs).

```shellscript theme={null}
npm i @easytransfert/sdk-api-marchand-nodejs
```

## Initialisation

Avant d’utiliser le SDK, vous devez initialiser le client avec vos identifiants.

```typescript theme={null}
const Kaybic = require("kaybic-payments-sdk");

const client = new Kaybic({
  apiKey: "VOTRE_CLE_API",
  ipn_url: "https://votre-domaine.com/webhook/ipn"
});
```

## Collecte (Cash-out)

Permet de demander un paiement à un client.

```typescript theme={null}
const response = await sdk.cashout.cashout({
  amount: 500,
  destination: "0700000000",
  ipn_url: "https://votre-domaine.com/webhook/ipn",
  api_key: "votre-api-key",
  service_id: 17,
  custom_data: "commande-12345",
});

console.log(response);
```

## Transfert (Cash-in)

Permet d’envoyer de l’argent vers un client.

```typescript theme={null}
const response = await sdk.cashin.cashin({
  amount: 1000,
  destination: "0700000000",
  ipn_url: "https://votre-domaine.com/webhook/ipn",
  api_key: "votre-api-key",
  service_id: 17,
});

console.log(response);
```

## Vérifier le solde

```javascript theme={null}
const balance = await sdk.balance.getBalance({
  api_key: "votre-api-key",
});
console.log(balance);
```

## Vérifier une transaction

```javascript theme={null}
const status = await sdk.transactionStatus.checkStatus({
  transaction_ids: "txn_abc123",
  api_key: "votre-api-key",
});
console.log(status);
```
