Utilisation de l'API


Comment générer un token

Pour utiliser l'API de transfert, 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 transfert

Une fois que vous avez le token, vous pouvez l'insérer en GET pour avoir votre solde transfert en utilisant cette url:

https://client.cinetpay.com/v1/transfer/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": 663,
    "inUsing": 0,
    "available": 663
    }
}

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 transfert d’argent 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/transfer/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": "[email protected]"
},{
    "prefix": "225",
    "phone": "01020304",
    "name": "Test C",
    "surname": "Test D",
    "email": "[email protected]"
}]

Exemple de réponse succès

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

Envoyer de l’argent d’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 en utilisez ce lien:

https://client.cinetpay.com/v1/transfer/money/send/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
amount : Le montant à envoyer ( doit être un multiple de 5) 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": "0102324373",
    "amount": 500,
    "client_transaction_id": "TEST-ID1",
    "notify_url": "http://yourdomain.com/transfer/notify"
}, {
    "prefix": "225",
    "phone": "0102324373",
    "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": "0102324373",
                    "amount": 500,
                    "client_transaction_id": "TEST-ID1",
                    "notify_url": "https://webhook.site/a38f92c3-7304-4540-82af-db48f06d2000",
                    "code": 0,
                    "status": "success",
                    "treatment_status": "NEW",
                    "transaction_id": "EA211005.065802.Z794810",
                    "lot": "0069229938091633417082"
                },

                {
                    "prefix": "225",
                    "phone": "0102324373",
                    "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 confirmés 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 d’un transfert d’argent

Vous pouvez obtenir les informations sur un transfert d’argent en utilisant cette url:

https://client.cinetpay.com/v1/transfer/check/money
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_status » 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

Télécharger un exemple

Pour une intégration rapide , veuillez télécharger la collection json qui contient toute les requêtes.


Telecharger

A savoir

1) amount : Le montant doit être un multiple de 5 sinon la transaction échouera.


Erreur Status

Code Cause Solution
Code: 709(This IP is not allow to execute this action) votre adresse ip n'est pas autorisé à effectuer cette action adresser un mail à [email protected] pour faire whitelister votre adresse, le mail doit contenir: l'email rattaché au compte, l'adresse ip, la raison
Code: -1(Undefined index: country) Le numéro saisi ne correspond pas au prefixe des opérateurs ou le nombre de chiffre depasse la norme Vous trouverez la liste des opérateurs et le nombre de chiffre dans le tableau d'annexe
Code: -1(ERROR_PM_AMOUNT) Le montant défini est inférieur au seuil des transferts pour pays Referez-vous au tableau de tranche des montants par pays
Code : -1 Erreur dans la requête vous trouverez la syntaxe correcte dans l'exemple ci dessus
code:602
"INSUFFICIENT_BALANCE"
Le solde de votre compte pour ce pays est insuffisant pour effectuer ce transfert Suivez ces étapes pour recharger votre compte de transfert