#
Intégration vitepay
#
Compte développeur
Lorsqu'un compte marchand est créé, vous recevez une paire de clés d'API (api_key
et api_secret
):
api_key: KMyjxAdJdtVk4GmcX90992sL25abPc
api_secret: MCVVzJXVK1f65WkGT1210OObHzO0
Les clés d'API sont des identifiants numériques utilisés pour interagir avec les services de Vitepay. Elles sont essentielles pour intégrer les APIs de paiement Vitepay.
Assurez-vous d'abord de disposer d'un compte marchand Vitepay. Si ce n'est pas encore le cas, vous pouvez en créer.
Connectez-vous à votre compte et accédez à l'option "Paramètres" puis "Kit d'intégration" pour recuperer les clés d'API.
Si vous jugez que votre clé secrète est corrompue vous pouvez accéder à votre espace marchand et générer de nouvelles clés.
#
Intégrer Vitepay
La présente documentation est destinée aux développeurs souhaitant intégrer le paiement VitePay sur un site marchand. Cette documentation n'est liée à aucune technologie. Le développeur est libre de faire l'intégration avec n'importe quel outil web.
#
1. Récupération du REDIRECT_URL
Depuis le site marchand, vous devez récupérer une URL de redirection de la forme
https://checkout1.vitepay.com/Ytr515
avant de rediriger le client vers VitePay pour effectetuer le paiement. Les étapes suivantes expliquent le mécanisme de récupération de cette URL de redirection.
Pour récupérer une URL de redirection, vous devez effectuer l'appel POST suivant :
POST https://api.vitepay.com/v1/prod/payments
Avant de passer en production vous devez avoir effectué au moins un payment concluant en mode sandbox (utiliser un numero joker).
Vous pouvez effectuer cet appel depuis un formulaire ou faire un appel serveur à serveur
POST
https://api.vitepay.com/v1/prod/payment
#
Header of Request
content-type: "application/json" | "application/x-www-form-urlencoded"
#
Body of Request
{
payment: {
order_id: "xxw",
language_code: "fr,
currency_code: "XOF",
country_code: "ML",
description: "La description de l'achat ...",
amount_100: 12500,
return_url: "https://votre-site.ml/return_url",
decline_url: "https://votre-site.ml/decline_url",
cancel_url: "https://votre-site.ml/cancel_url",
callback_url: "https://votre-site.ml/callback_url",
buyer_ip_adress: "192.168.1.2", // IP du client qui effectue le paiement
email: "client@email.ml"
},
redirect: 0 | 1,
api_key: "KMyjxAdJdtVk4GmcX90992sL25abPc",
hash: "KcX90992sM5MyjxAtVk4cX9dGmyjxAdM5MJd0992sL2abPc"
}
#
Description of the Body
En cas d'erreur lors de cet appel, VitePay retournera des informations pour vous aider à modifier votre code.
Si tous les paramètres attendus sont présents et valides, vous recevez une URL de la forme https://checkout1.vitepay.com/Ytr515
à utiliser à l'étape suivante.
Vous pouvez simuler un paiement en mode sandbox sans passer par orange money en utilisant les numéro suivants:
77000001
pour confirmer le paiement.
77000009
pour annuler le paiement.
#
2. Redirection vers VitePay
L'URL sécurisée retournée à l'étape précédente est utilisée pour rediriger l'utilisateur vers le site VitePay pour continuer la transaction et effectuer le paiement. Il s'agit d'une redirection HTTP classique.
#
3. Confirmation du paiement
Le client est donc redirigé sur le site VitePay pour :
- Séléctionner la méthode de paiement;
- Renseigner le numéro de téléphone à utiliser pour effectuer le paiement ;
- Confirmer avoir pris connaissance des condiditions générales d'utilisation ;
- Valider la demande de paiement.
#
4. Envoi de la demande de paiement sur le téléphone du client
VitePay fait appel au service du partenaire (méthode de paiement séléctionnée) pour transmettre la demande de paiement au numéro de téléphone fourni par le client. Une menu USSD permet au client de continuer la transaction sur son téléphone et de confirmer ou annuler le paiement.
#
5. Confirmation de la transaction sur votre site marchand
Quelle que soit le choix effectué par le client, nous en informons le site marchand en faisant un appel : POST
au callback_url
(voir payment[callback_url]
transmis lors de l'appel pour la récupération du REDIRECT_URL).
Cet appel server-à-server contient les paramètres suivants :
Vous devez donc intégrer au niveau du site marchand le code nécessaire pour traiter ce callback server-à-serveur et effectuer les opérations suivantes :
- Recalculer la signature
- Compagner la signature calculée à celle transmise par VitePay
- Vérifier que le numéro de commande est valide et que la transaction est toujours ouverte
- Mettre à jour le panier en fonction du statut transmis (success=1 ou failure=1)
- Retourner une réponse JSON à VitePay pour confirmer ou infirmer le traitement de l'opération sur le site marchand :
Dans le cas d'une confirmation, la réponse attendue est :
{ status:"1" }
Dans le cas contraire , la réponse attendue est :
{
status: "0",
message: "Raison pour laquelle le traitement est rejeté."
}
#
6. Notification du client
Le client reçoit un message sur son téléphone pour confirmer la transaction et effectuer le mouvements de fonds dans le cas d'une transaction concluante ou alors un message d'annulation de la transaction
#
7. Redirection finale
Site la transaction est concluante, VitePay redirige le client vers le site du marchand à l'adresse return_url
.
Site la transaction n'est pas concluante, VitePay redirige le client vers le site du marchand à l'adresse decline_url
.