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

  1. 1Créez un API Call createPaymentLink : POST vers votre endpoint Xano /pay (référence, montant en unité mineure, devise). Si l'application a des comptes clients Xano, header Authorization: Bearer [auth_token].
  2. 2Aucune clé Mobupay dans FlutterFlow : l'application ne connaît que votre endpoint Xano.

2. Ouvrir la page de paiement et revenir

  1. 1Bouton « Payer » : appel de createPaymentLink, puis action Launch URL sur le linkUrl renvoyé, en mode External Application (le navigateur intégré peut bloquer certaines redirections).
  2. 2Le redirectUrl du lien = une URL de votre domaine couverte par les App Links (réglages Deep & Dynamic Linking) qui route vers votre écran « retour de paiement ».
  3. 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.