# 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](https://docs.kkiapay.me/v1/compte/kkiapay-sandbox-guide-de-test) 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)

![](https://3656574980-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LX3NlYdn5V7BnDqQm92%2F-LhkBRrLK51AmF-c6Vc2%2F-LhkBg3LnqA8lHNZqn1i%2FGroup%206.png?alt=media\&token=7e8f9cfa-42bc-4594-a435-63b23f6fb757)

### 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)

![](https://3656574980-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LX3NlYdn5V7BnDqQm92%2F-LhkBRrLK51AmF-c6Vc2%2F-LhkBg3LnqA8lHNZqn1i%2FGroup%206.png?alt=media\&token=7e8f9cfa-42bc-4594-a435-63b23f6fb757)

{% 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
})
```
