# Node.js Admin SDK

L'installation du Node.js Admin SDK se fait par le biais de la commande *npm* qui suit :&#x20;

```
$ npm i @kkiapay-org/nodejs-sdk
```

## Importation

```typescript
const { kkiapay } = require("@kkiapay-org/nodejs-sdk"); // javascript
ou
import { kkiapay } from "@kkiapay-org/nodejs-sdk" // typescript
```

## Initialisation

L'utilisation du SDK Admin serveur requiert de procéder à l'instanciation d'un objet *kkiapay.* Il vous faudra afin de procéder à cette opération non seulement récupérer vos clés d'API mais également  user des lignes de code ci-après que vous soyez en mode [Sandbox](/v1/compte/kkiapay-sandbox-guide-de-test.md) ou en production.

* En Sandbox

```javascript
const k = kkiapay({privatekey:"xxxxxxx",
                   publickey:"xxxxxxx",
                   secretkey:"xxxxxxx",
                   sandbox:true})
```

{% hint style="info" %}
La valeur ***true*** de l'attribut `$sandbox` vous permet de passer en mode test.
{% endhint %}

* En Production

```javascript
const k = kkiapay({privatekey:"xxxxxxx",
                   publickey:"xxxxxxx",
                   secretkey:"xxxxxxx"})
```

## Statut d'une transaction

Le SDK Admin vous permet de procéder à la récupération des diverses informations liées à une transaction. Cette opération de récupération nécessite de vous les informations ci-après:

* Vos clés publique, privée et secrète d'API
* La référence de l’opération (voir l’image ci-dessous)

![](/files/-LhkBg3LnqA8lHNZqn1i)

### Exemple d'utilisation

Vous pouvez afin de tester cette fonctionnalité user du code ci-après :

```javascript
k.verify("transactionId").
then((response) => {
    "performed_at": "2025-04-10T15:01:49.499Z",
    "type": "DEBIT",
    "status": "SUCCESS",
    "source": "MOBILE_MONEY",
    "source_common_name": "mtn-benin",
    "amount": 40,
    "fees": 1,
    "reason": "payment",
    "failureCode": "",
    "failureMessage": "",
    "state": null,
    "partnerId": "",
    "feeSupportedBy": "customer",
    "income": 40,
    "transactionId": "0845058258857440",
    "performedAt": "10/04/2025",
    "client": {
        "fullname": "John Doe",
        "phone": "22997000000",
        "email": "john.doe@gmail.com"
    }
}).
catch((error) => {
    //Gérer l'erreur
})
```

## **Remboursement d'une transaction**

Toute transaction effectuée par mobile money et portant la mention "**Succès**" peut faire l'objet d'une opération de remboursement. En effet, il vous  est offert la possibilité de procéder à un remboursement si votre client n’a pas obtenu satisfaction pour le bien ou service pour lequel il a payé ou si vous le jugez nécessaire. Il vous faudra afin de procéder à une telle opération fournir les informations ci-après :

* Vos clés publique, privée et secrète d'API
* La référence de l’opération (voir l’image ci-dessous)

![](/files/-LhkBg3LnqA8lHNZqn1i)

{% hint style="info" %}
Le remboursement d'une transaction n'inclut point celui des frais de transaction qui lui sont liés.
{% endhint %}

### Exemple d'utilisation

Vous pouvez afin de tester cette fonctionnalité user du code ci-après :

```javascript
k.refund("transactionId").
then((response) => {
    //Gérer la réponse
}).
catch((error) => {
    //Gérer l'erreur
})
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kkiapay.me/v1/plugin-et-sdk/admin-sdks-server-side/node.js-admin-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
