Documentation Générale d'intégration

SkanPay est une passerelle de paiement. Cette documentation décrit l’implémentation et l’utilisation de notre API SkanPay.

Opérateurs

SkanPay est connecté à plusieurs opérateurs qui implementent chacun le paiement d’une façon
spécifique. Il existe principalement deux implementations: 

– Paiement avec reponse directe : la reponse à la requete de paiement se trouve dans la reponse à la requete HTTP 

– Paiement avec reponse différée : la reponse à la requete de paiement se fait par l’appel d’une url de callback du service qui utilise l’API.
Chaque opérateur dispose d’un code qui est utilisé dans la requete de paiement. Les operateurs suivants sont
integrés à SkanPay: 

  1. Orange Money CI (Paiement avec reponse directe) : OM_SKAN,
  2. MTN Mobile Money CI (Paiement avec reponse différée) : MOMO_SKAN, 
  3. Moov Money CI (Paiement avec reponse différée) : MOOV_SKAN
Compte Utilisateur

Tout integrateur de SkanPay doit disposer préalablement d’un compte. Les parametres du compte (Login, Password) sont fournis par SkanPay à l’integrateur.

Service marchand

Un service marchand est un service pour lequel l’integrateur aimerait utiliser SkanPayment comme moyen de
paiement. Chaque service est configuré sur SkanPay et est identifié par un ID unique. Cet ID, fournit par
SkanPayment, est utlisé dans la requete de paiement. Aussi, pour chaque service, l’integrateur fournit à
SkanPay une URL de notification. Cette URL est appelée par SkanPay par une requete HTTP POST
pour notifier du succès ou de l’echec de la requête de paiement.

Paiement
La requete de paiement se fait par une requete HTTP POST. Le corps de la requete est au format JSON. La reponse à la requête est au format JSON et elle contient deux entrées. Le « code », qui definit le statut de la reponse, et le « message », qui decrit le statut.
Paiement avec reponse directe

Dans le cas d’un paiement avec reponse directe, le paiement s’est effectué avec succès si le « code » de la
reponse est égal à 0. Toute valeur du « code » différente de 0 signifie un echec du paiement. La cause de l’échec
est spécifiée dans le « message » de la reponse.

— Method [POST]

— Url [/payer] Requete (application/json)

— Requete (application/json)

— Host : https://paiement.skanci.com/mobilepayment/

 

{
"serviceId": "XXXXXX",
"utilisateur": "test",
"password": "test",
"codeOperateur" : "OM_SKAN,
"reference": "YYYYYYYYY",
"numero": "XXXXXXXX",
"montant": "100",
"typeOperateur": "NON_REDIRIGE",
"nom": "XXX",
"email": "xxx@gmail.com",
"numeroClient": "XXXXXXXX",
"token": "XXXX"
}

— Reponse 200 (application/json)

{
"code": 0,
"message": "Paiement effectué avec succès"

}

Paiement avec réponse différée

Dans le cas d’un paiement avec reponse différée, après la requete de paiement, SkanPayment attend la
validation du paiement par le client et le « code » est a la valeur 10. Toute valeur du « code » différente de 10
signifie un echec du paiement. La cause de l’échec est spécifiée dans le « message » de la reponse.


— Method [POST]
— Url [/payer]
— Requete (application/json)

{
"serviceId": "XXXXXX",
"utilisateur": "test",
"password": "test",
"codeOperateur" : "MOMO_SKAN",
"reference": "YYYYYYYYY",
"numero": "XXXXXXXX",
"montant": "100",
"typeOperateur": "NON_REDIRIGE",
"nom": "XXX",
"email": "xxx@gmail.com",
"numeroClient": "XXXXXXXX",
"token": "XXXX"
}

— Response (application/json)

{
"code": 10,
"message": "Paiement en attente de validation"

}

Après la validation du paiement par le client, l’URL de notification du service est appélée par SkanPayment par
une requete HTTP POST.

— Method [POST]
— Url [urlNotificationService]
— Requete (application/json)

{
"reference": "YYYYYYYYY",
"code": 0,
"message": "Paiement effectué avec succès"
}