Chargement de vos clés API…
FlutterFlow
Application mobile ou web FlutterFlow, encaissement délégué à votre backend Xano.
Bêta
À savoir avant de commencer
- Une application FlutterFlow s'exécute sur l'appareil du client : les appels API y sont côté client (une clé embarquée serait extractible) et une application ne peut pas recevoir de webhook.
- L'intégration s'appuie sur le backend Xano Mobupay (guide validé de bout en bout). Pas besoin de Firebase : l'option « Make Private » (proxy Cloud Functions) est inutile quand Xano tient déjà ce rôle.
- Pour le retour dans l'application mobile : prévoir des App Links / Universal Links sur votre domaine (les schémas personnalisés sont bloqués par Chrome).
1. Appel API vers Xano
- 1Créez un API Call
createPaymentLink:POSTvers votre endpoint Xano/pay(référence, montant en unité mineure, devise). Si l'application a des comptes clients Xano, headerAuthorization: Bearer [auth_token]. - 2Aucune clé Mobupay dans FlutterFlow : l'application ne connaît que votre endpoint Xano.
2. Ouvrir la page de paiement et revenir
- 1Bouton « Payer » : appel de
createPaymentLink, puis action Launch URL sur lelinkUrlrenvoyé, en mode External Application (le navigateur intégré peut bloquer certaines redirections). - 2Le
redirectUrldu lien = une URL de votre domaine couverte par les App Links (réglages Deep & Dynamic Linking) qui route vers votre écran « retour de paiement ». - 3Sur cet écran : relisez la commande dans Xano et affichez l'état réel (prévoir un état « en attente »).
Le SDK Flutter Mobupay couvre nativement « page hébergée + retour App Links » ; dans FlutterFlow, les Custom Actions ne chargent que des packages pub.dev, donc tant que le SDK n'y est pas publié, Launch URL + App Links rendent le même service.
Pièges connus
- Jamais de clé
sk_…dans un API Call FlutterFlow : l'application est décompilable. Les API Interceptors s'exécutent aussi dans l'application : ce n'est pas un coffre à secrets. - Jamais d'URL d'application en
notificationUrl: un appareil ne reçoit pas de webhook. - L'état payé vient du webhook vérifié par Xano, relu depuis l'application ; jamais du seul retour.
Tester
Avec une clé sk_test_… dans Xano et un émulateur : paiement avec une carte de test, retour App Link, état payé après relecture. Vérifiez qu'aucune clé n'est embarquée dans l'application. Voir le guide Xano et le SDK Flutter.