Sessions du payeur
L’ouverture d’une session exige l’appareil déjà inscrit et le code Futa. Cinq codes incorrects en quinze minutes verrouillent l’ouverture pendant quinze minutes. Un nouveau défi ou un SMS ne réinitialise pas cette limite. Les limites supplémentaires par appareil et source persistent également. Une saturation temporaire renvoie 503 : reprenez la même requête. Ces paramètres sont une politique locale de test.
L’API payeur ne tourne que dans le bac à sable local : le bac à sable hébergé ne la sert pas encore.
GET /v1/payer/session consulte les métadonnées sans prolonger la session. POST /v1/payer/session/activity, avec {} et un UUID Idempotency-Key, représente une activité explicite au premier plan. Une reprise utilise le même UUID logique et une nouvelle preuve ; elle ne prolonge pas une seconde fois le délai. Les lectures, les tâches en arrière-plan et les demandes de nonce ne représentent pas une activité utilisateur.
POST /v1/payer/session/sign-out, avec {} et un UUID, révoque immédiatement la session. Toute utilisation suivante, y compris une nouvelle tentative de déconnexion, renvoie 401 INVALID_SESSION. Effacez les identifiants locaux même si la réponse de déconnexion est perdue. Android et iOS implémentent séparément les preuves et le stockage sécurisé ; Android conserve Retrofit, Room et Hilt.