Utilisation de l'API


Comment générer un token

Pour utiliser l'API de rechargement, il vous faut générer un token en envoyer les informations suivantes au format X-WWW-URLENCODED.
En utilisant cette url:

https://client.cinetpay.com/v1/auth/login
Code Valeur
METHODES GET & POST
Content-type application/x-www-form-urlencoded
Paramètre GET lang (en ou fr)
Paramètre POST apikey : (votre apikey)
password :(le mot de passe API que vous avez defini)

Exemple Réponse succès


{
    "code": 0,
    "message": "OPERATION_SUCCES",
    "data": {
        "token": "YOUR_TOKEN_HERE"
    }
}

Exemple Réponse erreur


{
    "code": "701",
    "message": "INVALID_CREDENTIALS",
    "description": "Identifiant de connexion incorrect",
    "data": []
}
  • Le token obtenu par cette requête HTTP sera utilisé pour tout autre requête de l’API
  • Sa durée de vie est de 5min

Information solde du compte AirTime

Une fois que vous avez le token, vous pouvez l'insérer en GET pour avoir votre solde Airtime

En utilisant cette url:

https://client.cinetpay.com/v1/airtime/check/balance
Code Valeur
METHODE GET
Paramètre GET token (un token valide)
lang (en ou fr)

Exemple Réponse Succès


{

    "code": 0,
    "message": "OPERATION_SUCCES",
    "data": {
        "amount": 2000,
        "inUsing": 0,
        "available": 2000
    } 
}

Exemple Réponse Erreur


{
    "code": "706",
    "message": "INVALID_TOKEN",
    "description": "Votre token est invalide",
    "data": []
}

Ajouter un ou plusieurs contacts sur CinetPay

Pour effectuer un rechargement sur un numéro de téléphone, il doit figurer au préalable dans votre liste de contact. Utilisez ce lien pour ajouter un ou plusieurs contacts:

https://client.cinetpay.com/v1/airtime/contact
Code Valeur
METHODES GET & POST
Content-type application/x-www-form-urlencoded
Paramètre GET token (un token valide)
lang (en ou fr)
Paramètre POST data : (json) contenant
{
prefix : le préfix du pays
phone : Le numéro de téléphone du contact
name : Le nom du contact
surname : Le prenom du contact
email : L’email du contact
}

Exemple de requête


[{
    "prefix": "225",
    "phone": "01020304",
    "name": "Test A",
    "surname": "Test B",
    "email": "testa@exemple.com"
},{
    "prefix": "225",
    "phone": "01020304",
    "name": "Test C",
    "surname": "Test D",
    "email": "testb@exemple.com"
}]

Exemple de réponse succès

{
    "code": 0,
        "message": "OPERATION_SUCCES",
        "data": [
    [
    {
    "prefix": "225",
        "phone": "53798590",
        "name": "Test A",
        "surname": "Test B",
        "email": "testa@exemple.com",
        "code": 0,
        "status": "success",
        "lot": "0044557641201530021279"
    },
    {
        "prefix": "225",
        "phone": "77895086",
        "name": "Test C",
        "surname": "Test D",
        "email": "testb@exemple.com",
    ] }
    } ]
    "code": 0,
    "status": "success",
    "lot": "0044557641201530021279"
}

Recharger un ou plusieurs de vos contacts CinetPay

vous pouvez initier un ordre de transfert d'argent vers un numéro de téléphone de vos contacts. Vous devez confirmer le transfert par mail.

Utilisez ce lien:

https://client.cinetpay.com/v1/airtime/credit/send
Code Valeur
METHODES GET & POST
Content-type application/x-www-form-urlencoded
Paramètre GET token (un token valide)
lang (en ou fr)
Paramètre POST data : (json) contenant
{
prefix : le préfix du pays
phone : Le numéro de téléphone du contact
amount : Le montant à envoyer [in FCFA (XOF)] (Attention)
notify_url : L’url de notification à appeler quand le transfert sera effectué
client_transaction_id : votre ID de transaction (facultatif)
}

Exemple de requête


[{
    "prefix": "225",
    "phone": "07895086",
    "amount": 500,
    "client_transaction_id": "MYMERCHANTID1",
    "notify_url": "http://yourdomain.com/transfer/notify"
}, {
    "prefix": "225",
    "phone": "03798593",
    "amount": 2000,
    "client_transaction_id": "MYMERCHANTID2",
    "notify_url": "http://yourdomain.com/transfer/notify"
}]

Exemple Réponse Succès


{
    "code": 0,
        "message": "OPERATION_SUCCES",
        "data": [
    [{
    "prefix": "225",
    "phone": "07895086",
    "amount": 500,
    "client_transaction_id": "MYMERCHANTID1", "notify_url": "http://93fd59a2.ngrok.io", "code": 0,
    "status": "success",
    "treatment_status": "NEW",
    "transaction_id": "EA180627.122753.M279245", "lot": "0044557641201530102473"
    }, {
            "lot": "0044557641201530102473"
        }
    ]
    "prefix": "225",
    "phone": "07895086",
    "amount": 350,
    "client_transaction_id": "MYMERCHANTID2", "notify_url": "http://93fd59a2.ngrok.io", "code": 0,
    "status": "success",
    "treatment_status": "NEW"
    "transaction_id": "EA180627.122754.Y707825",
    ] 
}

Exemple Réponse Erreur

{
    "code": 602,
    "message": "INSUFFICIENT_BALANCE",
    "description": "Fonds Insuffisant :disponible 4 233,00,
    Total de l'operation à effectuer : 32 000,00",
    "data": []
}

{info.fa-info}Tous les transferts d’argents doivent être confirmer par le marchand. Si vous voulez que cela soit prise en compte sans validation. Veuillez écrire à CinetPay et nous fournir une liste d’adresses IP qui pourront effectuer des ordres de transfert.

Obtenir les informations sur le rechargement d'un numero

Vous pouvez obtenir les informations sur le rechargement d'un numero.

En utilisant cette url:

https://client.cinetpay.com/v1/airtime/check/send
Code Valeur
METHODE GET
Paramètre GET token (un token valide)
lang (en ou fr)
transaction_id (CinetPay transaction ID) OU client_transaction_id (Votre transaction ID) OU lot (Le numéro de lot CinetPay)

Exemple Réponse Succès

{
    "code": 0,
    "message": "OPERATION_SUCCES",
    "data": [{
        "transaction_id": "EA180627.122753.M279245",
        "client_transaction_id": "MYMERCHANTID1",
        "lot": "0044557641201530102473",
        "amount": "500",
        "receiver": "07895086",
        "receiver_e164": "+22507895086",
        "operator": "OM",
        "sending_status": "CONFIRM",
        "transfer_valid": "Y",
        "treatment_status": "VAL",
        "comment": "Transfert effectué avec succès",
        "validated_at": "2018-06-27 12:53:26"
}] }

Exemple Réponse Erreur

{
     "code": 723,
    "message": "NOT_FOUND",
    "description": "Aucun element trouvé",
    "data": []
}
  • Vous devez observer particulièrement la valeur de « treatment_status », car c’est cette variable qui donne le statut (nouveau, en cours, valider, rejeté...) de traitement d’un transfert d’argent

  • La variable « sending_confirm » sert à préciser si vous avez confirmé le transfert par mail

    • CONFIRM : vous avez confirmé le transfert
    • PENDING : vous n’avez pas encore confirmé le transfert

Good to know

1) amount :

  • Si la transaction concerne l'operateur Orange, le montant doit être un multiple de cinquante(50) sinon la transaction échouera.
  • Si la transaction concerne les opérateurs Moov ou MTN, le montant doit être un multiple de cinq(5)sinon la transaction échouera