Comment accepter Wave et Orange Money dans une application Flutter ?
L’application Flutter passe par un serveur qui crée le paiement avec la clé API, puis ouvre checkout_url. La clé ne se place jamais dans l’application.
Une application Flutter n’appelle pas 221 Pay avec la clé API : elle demande à
son propre serveur de créer le paiement, puis ouvre l’adresse checkout_url
reçue. Le serveur confirme ensuite le résultat par webhook.
Le SDK Dart sdk221 est publié sur pub.dev (SDK 221) ;
l’API s’appelle aussi directement, depuis n’importe quel langage serveur.
Pourquoi un serveur
Une clé placée dans une application publiée est extractible par n’importe quel utilisateur : elle donne accès aux paiements, aux remboursements et aux retraits du projet. La documentation d’Authentification l’interdit : la clé reste côté serveur.
Parcours
Le serveur expose une route de commande
Par exemple POST /commandes/{id}/payer, protégée par la connexion de
l’utilisateur. Elle lit le montant côté serveur, jamais depuis l’application.
Le serveur crée le paiement
POST /v1/payments avec rail à sn_wave ou sn_orange, le numéro de
commande dans merchant_reference et une Idempotency-Key stable par commande.
Exemples en cinq langages : Comment accepter un premier paiement par API ?
L’application ouvre checkout_url
Le serveur renvoie checkout_url à l’application, qui l’ouvre dans le navigateur
de l’appareil (package maintenu url_launcher) ou dans une vue web. Le client
paie par Wave ou Orange Money, puis revient sur return_url, une adresse
https:// (http:// est refusé).
Le webhook fait foi
Sur payment.succeeded, le serveur vérifie la signature, relit le paiement et
marque la commande payée. L’application interroge son serveur, pas 221 Pay,
pour afficher « payé ». Voir Webhooks.
Tester
Une clé sk_221_pay_test_ confirme les paiements en quelques secondes, sans
argent réel (Tests).
Variante sans serveur
Pour encaisser sans serveur, un lien de paiement suffit : l’application ouvre
link_to_pay. Le montant est fixe et le rapprochement des commandes est
manuel. Voir Liens de paiement.
Mis à jour le
Comment encaisser Wave et Orange Money sur une boutique en ligne ?
Boutique hébergée type Shopify ou site sur mesure : liens de paiement sans code, ou API depuis un serveur. Aucune application Shopify 221 Pay n’est publiée.
Comment un freelance sans entreprise encaisse-t-il par Wave ou Orange Money ?
Un indépendant encaisse ses clients par Wave et Orange Money avec un lien de paiement par facture, sans NINEA ni RCCM. Identité vérifiée avant le retrait.