Académique Documents
Professionnel Documents
Culture Documents
Guider
APPLICATIONS WEB & MOBILES ET WOOCOMMERCE
Guide d'intégration v5
Table des matières
1.1 L'EFACTURATION, QU'ESTCE QUE C'EST ? .................................................. .................................................. ........... 3 1.2 L'E
FACTURATION, COMMENT ÇA MARCHE ? .................................................. .................................................. .... 4
2.1 TÂCHES D'INTÉGRATION POUR LES APPLICATIONS WEB .................................................. ....................... 5 2.1.1 ÉTAPE 1 :
METTRE EN ŒUVRE L'ACTION DE CONTRÔLE 2.1.2 TÂCHE 2 : METTRE EN ŒUVRE L'APPEL
.................................................. À LA FACTURATION
..................................... 5
ÉLECTRONIQUE...... .................................................. ............................. 6 2.1.3 TÂCHE 3 : METTRE EN ŒUVRE L' ACTION DE
RAPPEL 2.1.4 TÂCHE 4 : CRÉER UNE PAGE DE TRANSACTION RÉUSSIE. ..................................................
.................................................. .................... 6 2.2
.................................. 6
TÂCHES D'INTÉGRATION POUR LES APPLICATIONS MOBILES NATIVES ....................... ..................................... 7 2.2.1 TÂCHE
1 : METTRE EN ŒUVRE L' ACTION DE VÉRIFICATION..... ..........................ERREUR! MARQUET NON DÉFINI.
2.2.2 TÂCHE 2 : METTRE EN ŒUVRE L'APPEL À LA FACTURATION ÉLECTRONIQUE.................ERREUR ! MARQUET NON DÉFINI.
2.2.3 TÂCHE 3 : METTRE EN ŒUVRE UNE REDIRECTION VERS LE PORTAIL DE FACTURATION ÉLECTRONIQUE .......ERREUR ! MARQUET NON DÉFINI.
2.2.4 TÂCHE 4 : METTRE EN ŒUVRE UNE ACTION DE RAPPEL..............ERREUR ! MARQUET NON DÉFINI.
2.2.5 TÂCHE 5 : DÉFINIR LE SCHÉMA D' URI DE L'APPLICATION .................ERROR ! MARQUET NON DÉFINI.
2.2.6 TÂCHE 6 : METTRE EN ŒUVRE UNE API POUR INTERROGER LE STATUT DE PAIEMENT ... ERREUR ! MARQUET NON DÉFINI.
3.1 PLATEFORME EBILLING LAB ................................................ .................................................. .......... 10 3.2 SIMULATEUR D'
INTÉGRATION .................................. .................................................. ................... dix
Guide d'intégration v5
4.5.2 SCHEMA D'URI OU DEEP LINKING ......................................................... .................................................. ...... 22
Guide d'intégration v5
1 Introduction au paiement avec EBilling
EBilling est une passerelle de paiement qui agrège les systèmes de paiement et fournit aux commerçants une API
unique pour intégrer les paiements dans leurs applications.
EBilling ne collecte pas le paiement au nom du marchand. Le paiement est toujours validé par le système de
paiement cible.
EBilling a mis en place un système automatisé qui assure la traçabilité du paiement des transactions entre le client, le
système de paiement cible et le commerçant.
EBilling a agrégé avec succès deux (2) systèmes de paiement au Gabon : Airtel Money et MobiCash de Gabon
Telecom.
Guide d'intégration v5
1.2 La facturation électronique, comment ça marche ?
EBilling se connecte aux systèmes backend de Mobile Wallet Platform et à celui du marchand (serveur Web généralement).
Le client se connecte au système backend du marchand à l'aide de son navigateur ou de son application mobile pour effectuer des
achats et passer à la caisse.
Le client se connecte au fournisseur de portefeuille mobile pour payer la transaction à l'aide de son téléphone mobile.
Pour initier une transaction, le client clique sur le bouton Commander (1) à partir du navigateur ou de l'application mobile. Cette action
déclenche l'appel du serveur Web du marchand pour qu'il appelle EBilling afin de générer un identifiant unique pour la transaction (2).
Le client utilise l'ID de transaction pour initier le paiement avec le portefeuille mobile (3).
Une fois le paiement traité avec succès par le portefeuille mobile, il en informe EBilling (4). EBilling notifie à son tour le serveur Web
marchand du paiement réussi de la transaction (5) comme indiqué cidessous :
Guide d'intégration v5
2 Tâches d'intégration de haut niveau
Dans cette section, nous fournissons une description de haut niveau des tâches que vous devez effectuer pour
l'intégration du paiement avec EBilling. Vous passerez par des tâches similaires si vous intégrez une autre solution comme
PayPal.
Nous envisageons deux (2) cas d'utilisation : l'intégration du paiement dans une application Web et l'intégration dans
une application mobile native (iOS, Android).
Les tâches principales restent les mêmes pour les deux cas d'utilisation. Pour l'intégration avec une application
mobile native , la principale différence est qu'à un moment donné, le client doit quitter l'application pour accéder à la page de
paiement et après un paiement réussi, il doit quitter le navigateur pour revenir à l'application.
Les tâches principales sont effectuées dans le système backend du commerçant, généralement un serveur Web.
Si vous utilisez WooCommerce pour votre boutique en ligne, un plugin est disponible pour la facturation électronique qui
automatise toutes les étapes d'intégration. Vous trouverez le lien en bas de ce document.
L'action de paiement est le point de départ de l'intégration avec EBilling. Tout ce qui se passe avant est spécifique à
l'application.
À ce stade, l'application doit avoir collecté toutes les informations pour traiter le paiement, y compris, mais sans s'y limiter :
Informations client : nom, prénom, email, téléphones, adresse de facturation, adresse de livraison ;
Informations sur le produit : nom, description ;
Tarification : prix du produit, prix d'expédition, prix total ;
Guide d'intégration v5
En cliquant sur le bouton de paiement, le client initie la transaction et il accepte les conditions générales du marchand.
Cette tâche doit créer une entrée dans la base de données dans la table Transaction ou quel que soit son nom.
Cette tâche implémente un appel à l'API EBilling pour créer un ID unique pour la transaction. Si cette action réussit, cette
tâche doit également rediriger le client vers le portail de paiement EBilling.
Les informations minimales cidessous doivent être fournies à l'API EBilling pour créer l'ID de transaction :
Cette tâche implémente une action de rappel qu'E Billing appellera pour informer le marchand du paiement réussi. L'URL doit être
enregistrée sous le profil du marchand dans le portail EBilling.
Les informations minimales cidessous seront fournies lorsque EBilling appellera l' action de rappel :
Référence : l'identifiant de référence unique de la transaction dans la base de données marchand qui a été
fourni lors de la création de l'identifiant de transaction ;
Nom du portefeuille mobile : le nom du portefeuille mobile qui a effectué le paiement ;
Identifiant de transaction : la transaction unique du système de portefeuille mobile ;
Cette tâche crée une page vers laquelle le client sera redirigé par le portail de facturation électronique une fois le paiement réussi
confirmé par le système de portefeuille mobile. L'URL de cette page est envoyée à EBilling lors de la tâche 2.
Guide d'intégration v5
2.2 Tâches d'intégration pour les applications mobiles natives
Si vous avez une application mobile native, iOS et Android, EBilling propose trois (3) façons d'intégrer le paiement
en ligne.
Vous pouvez compter sur le portail de paiement EBilling pour permettre au client de sélectionner l'opérateur qu'il
souhaite utiliser pour payer. Avec cette approche, votre application n'a pas besoin de gérer quel opérateur l'utilisateur final
va utiliser pour payer, il le déterminera à partir du portail EBilling.
Cette approche nécessite simplement que l'utilisateur quitte temporairement l'application et se rende sur le portail et
une fois le paiement effectué, il reviendra.
Schéma d'URI de l'application : le schéma d'URI de l'application. Après un paiement réussi, cet URI sera utilisé pour
revenir à l'application depuis le portail EBilling, veuillez suivre ces directives :
https://blog.branch.io/howtoopenanandroidappfromthebrowser/
https://stackoverflow.com/questions/25883113/openiosappfrombrowser
La 2ème approche consiste à utiliser l'API Push USSD fournie par EBilling. Cette approche nécessite que vous laissiez
le client sélectionner l'opérateur qu'il souhaite utiliser pour payer.
Fondamentalement, lorsque l'utilisateur sélectionne l'opérateur et fournit le numéro de téléphone à utiliser pour recevoir
USSD Push, EBilling enverra USSD Push à l'utilisateur final via l'opérateur choisi.
Guide d'intégration v5
La 3ème approche consiste à composer le code USSD EBilling directement depuis votre application (Android, iOS),
par exemple : *150*8*5551234567*1# lors de la composition de ce code USSD, l'utilisateur sera invité à saisir son
code PIN pour valider le paiement.
Guide d'intégration v5
2.2.4 Tâche 1 : Mettre en œuvre l'action de paiement
L'action de paiement est le point de départ de l'intégration avec EBilling. Tout ce qui se passe avant est spécifique à
l'application.
À ce stade, l'application doit avoir collecté toutes les informations pour traiter le paiement, y compris, mais sans s'y limiter :
Informations client : nom, prénom, email, téléphones, adresse de facturation, adresse de livraison ;
Informations sur le produit : nom, description ;
Tarification : prix du produit, prix d'expédition, prix total ;
En cliquant sur le bouton de paiement, le client initie la transaction et il accepte les conditions générales du marchand.
Cette tâche doit créer une entrée dans la base de données dans la table Transaction ou quel que soit son nom.
Cette tâche implémente une action de rappel qu'E Billing appellera pour informer le marchand du paiement réussi. L'URL
doit être enregistrée sous le profil du marchand dans le portail EBilling.
Les informations minimales cidessous seront fournies lorsque EBilling appellera l' action de rappel :
Référence : l'identifiant de référence unique de la transaction dans la base de données marchand qui a été
fourni lors de la création de l'identifiant de transaction ;
Nom du portefeuille mobile : le nom du portefeuille mobile qui a effectué le paiement ;
Identifiant de transaction : la transaction unique du système de portefeuille mobile ;
Lorsque le client revient à l'application mobile, le backend du marchand a déjà été mis à jour. L'application mobile doit
pouvoir interroger le backend pour obtenir une mise à jour de l'état du paiement.
IMPORTANT:
Lorsque le paiement est validé par l'opérateur, EBilling en sera automatiquement averti. Dès réception de cette
notification, EBilling informera votre application principale du paiement réussi.
L'application dorsale doit fournir une API à l'application mobile pour interroger l'état du paiement. L'application mobile ne
doit pas demander l'état du paiement directement à l'application EBilling.
Guide d'intégration v5
3 Environnement d'intégration
L'environnement d'intégration comprend deux (2) outils essentiels : la plateforme EBilling Lab et le simulateur
d'intégration.
La plateforme de laboratoire est fonctionnellement identique à la production. Cela permet de s'assurer que lorsque vous
pourrez terminer l'intégration et les tests dans Lab, tout devrait fonctionner correctement en production.
Un simulateur est disponible pour vous fournir un outil pour tester la plupart des tâches d'intégration.
(1) Redirection vers la page de réussite du paiement : il s'agit d'un test très basique, il vous suffit de spécifier l'URL
et de vous assurer que vous êtes redirigé vers la page ;
(2) Action de rappel : ce test est extrêmement important. Vous fournissez l'URL de votre rappel et
vous sélectionnez les paramètres que vous souhaitez recevoir ;
(3) Test de bout en bout : il s'agit d'un test obligatoire qui doit être réussi afin de valider votre intégration avec EBilling ;
Guide d'intégration v5
4 Activités d'intégration détaillées
Dans cette section, nous approfondissons les tâches d'intégration que vous devez effectuer pour ajouter le paiement
avec EBilling à votre application, qu'elle soit web ou mobile native.
4.1 Prérequis
Citons d'abord ce que vous devez avoir en main pour l'intégration du paiement avec EBilling.
Que vous intégriez ou non le paiement sur votre application Web ou votre application mobile native , vous devez disposer
d'un système backend, généralement un serveur d'applications Web.
Dans votre système backend, vous devez disposer d'une base de données avec une table pour suivre l'état du paiement.
Nommons cette table : TRANSACTION avec au moins les colonnes suivantes :
Bien sûr, vous pouvez ajuster le type/nom de colonne pour mieux répondre à vos besoins/environnement.
Guide d'intégration v5
Le statut de la colonne peut être utilisé pour suivre l'état de la transaction, vous pouvez définir ces valeurs par
exemple :
Créé : statut juste après la création de la nouvelle entrée et avant d'obtenir l'identifiant unique du
transaction depuis EBilling ;
En attente : il peut s'agir du statut après avoir reçu l'identifiant unique d'EBilling ;
Payé : il peut s'agir du statut après réception de la notification de paiement par EBilling ;
Expiré : il peut s'agir du statut si la transaction n'a pas été payée après le délai ;
Pour commencer l'intégration, vous devez disposer des informations de votre compte marchand EBilling dans
l'environnement LAB.
Voici l'URL pour créer votre compte marchand si vous n'en avez pas déjà : https://lab.billing easy.net/merchant/
registrations/new
Guide d'intégration v5
4.2 Initier le paiement avec EBilling
La première tâche de l'intégration consiste à lancer le paiement avec le bouton de paiement . Voici un exemple de
www.smspushpro.com :
À ce stade, toutes les informations nécessaires au traitement du paiement ont déjà été collectées.
Lorsque le client clique sur "Payer" l'équivalent de "Checkout", il sera dirigé vers cette page cidessous :
Il s'agit de la page de paiement standard de la plateforme EBilling. Il fournit au client des procédures pour payer avec son
portefeuille mobile préféré ou son application bancaire. Les étapes de paiement sont totalement transparentes pour le
commerçant.
Guide d'intégration v5
L'initiation de la transaction avec EBilling se fait en cinq (5) étapes comme détecté cidessous :
Après avoir collecté les informations de transaction, vous devez essentiellement créer une entrée dans le tableau
TRANSACTION qui devrait ressembler à ceci :
Dans cette étape, vous devez appeler l'API REST EBilling pour créer une transaction.
Guide d'intégration v5
Voici la liste des paramètres de l'API :
Vous trouverez des exemples de code en PHP et Java pour y parvenir à la fin du document.
Si le client achète à partir d'un navigateur ou d'une application mobile native, vous devez le rediriger vers le portail de
facturation électronique. Vous devez passer 2 paramètres dans la méthode POST :
$POST_URL = 'https://test.billingeasy.net';
$invoice_number = $response['e_bill']['bill_id'] ;
echo "</form>" ;
echo "document.frm.submit();";
echo "</script>" ;
Guide d'intégration v5
4.3 Mettre en œuvre le rappel
Cette activité se déroule de votre côté. Vous devez créer une action de rappel et enregistrer son URL dans le profil
marchand du portail EBilling.
Ce qui est effectué pendant le rappel est totalement transparent pour le client. L'action de rappel est utilisée par E
Billing pour informer votre backend que le paiement a réussi. Le rappel n'a aucune interaction avec le client. Il n'y a
pas de page visuelle.
Lors de l'appel de l'action de rappel, EBilling vérifiera le code HTTP renvoyé pour déterminer si la notification de
paiement a été traitée avec succès par le marchand.
Il est important de vous assurer de renvoyer 2xx si le traitement a réussi et 4xx s'il y a eu un
Erreur.
Vous pouvez utiliser le simulateur d'intégration pour tester votre action de rappel. Voici l'URL : https://
simu.billingeasy.net/callbackurl
Guide d'intégration v5
Le simulateur appellera l'action de rappel avec les paramètres sélectionnés. Les noms de paramètres sont exactement tels qu'ils
sont affichés.
Si le test de rappel réussit, vous pouvez enregistrer l'URL dans le portail de facturation électronique sous le profil du marchand.
Après vous être connecté au marchand, accédez à "Profil" dans le coin supérieur droit :
Sur la page qui suit, veuillez cliquer sur le bouton « Modifier » puis allez dans la section « URL de notification » :
Guide d'intégration v5
4.3.4 Test de rappel de bout en bout
Une fois le rappel enregistré dans le profil du marchand, vous pouvez procéder à des tests de bout en bout. Pour
cela vous utiliserez le bouton « Tester le paiement end2end » :
Sur la page qui suit, veuillez entrer le numéro de facture (ID de la transaction) comme indiqué cidessous et cliquez
sur "Demander la facture"
Sur l'écran qui suit, veuillez sélectionner l'opérateur que vous souhaitez et cliquez sur "Payer la facture"
Guide d'intégration v5
Lorsque vous cliquez sur "Payer la facture", vous simulez essentiellement la validation du paiement par le
fournisseur de portefeuille. Le simulateur est connecté à la plateforme LAB. Lorsque LAB reçoit la confirmation
de paiement, il avertit immédiatement le commerçant en appelant le rappel enregistré dans son profil.
L'écran cidessus indique que la plateforme LAB a reçu avec succès la notification de paiement du
système de paiement (simulateur).
Guide d'intégration v5
Lorsque la plateforme de paiement (simulateur) notifie EBilling (1), EBilling met à jour le statut de la transaction
dans le système (2) et confirme renvoie la confirmation au système de paiement (3), puis EBilling envoie une
notification au commerçant en utilisant le rappel enregistré ( 4) et EBilling s'attend à ce que le rappel du
commerçant renvoie HTTP 200 (ou 2xx) pour marquer la transaction comme traitée (5).
À ce stade, vous devez vérifier sur votre système backend que le rappel a été exécuté avec succès.
Normalement, vous avez testé avec succès votre callback individuellement avec un simulateur, il ne devrait
pas y avoir de surprise avec le test end2end.
Il est très important de s'assurer que le code HTTP renvoyé par callback correspond au code réel exécuté
Etat:
Vous trouverez cidessous le cycle de vie de la transaction dans le système de facturation électronique :
Guide d'intégration v5
4.4 Créer une page de réussite
Semblable au rappel, la page de réussite est l'URL physique du client vers laquelle le client sera redirigé une
fois le paiement validé par le système de paiement tiers .
Vous pouvez remarquer « RETOUR AU SITE » qui fournit un lien pour revenir au site marchand et plus précisément à la
page de paiement réussie.
Guide d'intégration v5
4.5 Activités supplémentaires pour l'application mobile native
Si vous intégrez le paiement dans une application mobile native (iOS, Android), toutes les activités précédentes sont
applicables, mais en plus de cela, il y a des tâches supplémentaires liées à l'intégration de la facturation électronique,
nous sommes à peu près sûrs qu'elles sont les mêmes pour toute autre passerelle de paiement. comme PayPal.
Comme mentionné dans l'introduction, les applications mobiles n'interagissent pas directement avec la facturation électronique.
Au lieu de cela, ils interagissent avec leur serveur principal, généralement un serveur Web.
Il y a bien sûr 100 façons d'y parvenir. Notre recommandation serait de fournir au moins 2 API :
(1) Paiement : cette API serait utilisée par vos applications mobiles pour initier une transaction de paiement ;
(2) Requête : cette API serait utilisée pour interroger l'état du paiement ;
Comme pour PayPal, le client doit quitter les applications mobiles natives et être dirigé vers la page de paiement de la
facturation électronique. Après le paiement, nous avons besoin d'un moyen de ramener l'utilisateur à l'application.
Vous pouvez y parvenir en créant un schéma d'URI, par exemple myapplisuccess:// et en utilisant des liens profonds.
Vous fournirez essentiellement le schéma URI au portail EBilling en tant qu'URL de redirection lorsque vous appelez EBilling
pour initier la transaction. https://blog.branch.io/howtoopenanandroidappfromthebrowser/
https://stackoverflow.com/questions/25883113/openiosappfrombrowser
Guide d'intégration v5
5 Preuve d'une intégration réussie dans LAB
Avant de pouvoir passer à l'environnement de production EBilling, vous devez prouver que votre intégration a réussi dans
l'environnement LAB.
Pour rappel, LAB est fonctionnellement identique à la production. Si votre intégration se fait avec succès dans LAB,
vous avez la garantie qu'elle fonctionnera en production. Le passage en production consiste simplement à modifier les URL et
les informations d'identification.
Par conséquent, veuillez prendre votre temps pour exécuter tous les tests dans LAB et ne pas rogner, vous pouvez faire autant
de tests que nécessaire pour vous assurer que tout fonctionne bien.
Vous trouverez cidessous les preuves minimales à fournir que l'intégration a réussi dans LAB avec
Application SMSPUSH :
(2) Copie de l'écran du portail EBilling : pour montrer que le client est redirigé vers la page de paiement
Guide d'intégration v5
(3) Copie de l'écran indiquant que le paiement a été reçu par EBilling
Après l'expiration du compteur, le client doit être redirigé vers la page de réussite du marchand.
Ici le client peut voir sur le site marchand que son paiement a été validé.
Guide d'intégration v5
(5) Copie de l'écran de l'état de la transaction dans EBilling LAB pour montrer que son état est Traité
Guide d'intégration v5
6 Plugin WooCommerce
Pour ceux qui utilisent WooCommerce pour leur boutique en ligne, le plugin officiel EBilling est maintenant
disponible. Le plugin automatise toutes les étapes d'intégration du bouton de paiement à la redirection du
client vers la page de réussite du paiement.
https://wordpress.org/plugins/ebillingpaymentgateway/