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": "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"
            }
        ]

}

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éfixe 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)
payment_method : Wallet à utiliser ( Facultatif) plus d'info
}

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"
    "payment_method": "WAVECI" //facultatif
}]

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", 
                    "payment_method": "WAVECI",
                    "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 adresse IP public fixe qui pourra effectuer des ordres de transfert.

Envoyez de l'argent vers un wallet

Dans le processus de transfert d'argent mobile, CinetPay met à votre disposition une option pour transférer de l'argent vers certains wallets.
Il suffit d'ajouter le paramètre payment_method à la requête d'envoi d'argent en précisant le wallet de paiement.

"payment_method":"WAVECI"

Wallets disponible

Pays Payment_method Devise
Côte d'Ivoire WAVECI XOF
Sénégal WAVESN XOF

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 toutes les requêtes.


Exemple PostMan

A savoir

1) amount : Les montants qui ne respectent pas la condition sont arrondis au montant inférieur multiple de 5.

2) payment_method : Ce paramètre vous permet de preciser le wallet que vous souhaitez utiliser. Ce paramètre est facultatif.
ex:( "payment_method": "WAVECI" )


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 à support.technique@cinetpay.com 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 préfixe 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 ( Le prefix "XXX" appartient a un pays non pris en compte) 1) le préfixe saisi appartient a un pays non pris en compte dans le transfert d'argent
2) Il y a un signe '+' avant le préfixe
1) Vous trouverez la liste des préfixes supporté par CinetPay dans le tableau d'annexe
2) vous devez enlever le signe + avant le préfixe
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