feat: Version 3.3.4 - Nouvelle architecture pages, optimisations widgets Flutter et API
- Mise à jour VERSION vers 3.3.4 - Optimisations et révisions architecture API (deploy-api.sh, scripts de migration) - Ajout documentation Stripe Tap to Pay complète - Migration vers polices Inter Variable pour Flutter - Optimisations build Android et nettoyage fichiers temporaires - Amélioration système de déploiement avec gestion backups - Ajout scripts CRON et migrations base de données 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
197
api/docs/STRIPE-TAP-TO-PAY-REQUIREMENTS.md
Normal file
197
api/docs/STRIPE-TAP-TO-PAY-REQUIREMENTS.md
Normal file
@@ -0,0 +1,197 @@
|
||||
# Stripe Tap to Pay - Requirements officiels
|
||||
|
||||
> Document basé sur la documentation officielle Stripe - Dernière vérification : 29 septembre 2025
|
||||
|
||||
## 📱 iOS - Tap to Pay sur iPhone
|
||||
|
||||
### Configuration minimum requise
|
||||
|
||||
| Composant | Requirement | Notes |
|
||||
|-----------|------------|--------|
|
||||
| **Appareil** | iPhone XS ou plus récent | iPhone XS, XR, 11, 12, 13, 14, 15, 16 |
|
||||
| **iOS** | iOS 16.4 ou plus récent | Pour support PIN complet |
|
||||
| **SDK** | Terminal iOS SDK 2.23.0+ | Version 3.6.0+ pour Interac (Canada) |
|
||||
| **Entitlement** | Apple Tap to Pay | À demander sur Apple Developer |
|
||||
|
||||
### Fonctionnalités par version iOS
|
||||
|
||||
- **iOS 16.0-16.3** : Tap to Pay basique (sans PIN)
|
||||
- **iOS 16.4+** : Support PIN complet pour toutes les cartes
|
||||
- **Versions beta** : NON SUPPORTÉES
|
||||
|
||||
### Méthodes de paiement supportées
|
||||
|
||||
- ✅ Cartes sans contact : Visa, Mastercard, American Express
|
||||
- ✅ Wallets NFC : Apple Pay, Google Pay, Samsung Pay
|
||||
- ✅ Discover (USA uniquement)
|
||||
- ✅ Interac (Canada uniquement, SDK 3.6.0+)
|
||||
- ✅ eftpos (Australie uniquement)
|
||||
|
||||
### Limitations importantes
|
||||
|
||||
- ❌ iPad non supporté (pas de NFC)
|
||||
- ❌ Puerto Rico non disponible
|
||||
- ❌ Versions iOS beta non supportées
|
||||
|
||||
## 🤖 Android - Tap to Pay
|
||||
|
||||
### Configuration minimum requise
|
||||
|
||||
| Composant | Requirement | Notes |
|
||||
|-----------|------------|--------|
|
||||
| **Android** | Android 11 ou plus récent | API level 30+ |
|
||||
| **NFC** | Capteur NFC fonctionnel | Obligatoire |
|
||||
| **Processeur** | ARM | x86 non supporté |
|
||||
| **Sécurité** | Appareil non rooté | Bootloader verrouillé |
|
||||
| **Services** | Google Mobile Services | GMS obligatoire |
|
||||
| **Keystore** | Hardware keystore intégré | Pour sécurité |
|
||||
| **OS** | OS constructeur non modifié | Pas de ROM custom |
|
||||
|
||||
### Appareils certifiés en France (liste non exhaustive)
|
||||
|
||||
#### Samsung
|
||||
- Galaxy S21, S21+, S21 Ultra, S21 FE (Android 11+)
|
||||
- Galaxy S22, S22+, S22 Ultra (Android 12+)
|
||||
- Galaxy S23, S23+, S23 Ultra, S23 FE (Android 13+)
|
||||
- Galaxy S24, S24+, S24 Ultra (Android 14+)
|
||||
- Galaxy Z Fold 3, 4, 5, 6
|
||||
- Galaxy Z Flip 3, 4, 5, 6
|
||||
- Galaxy Note 20, Note 20 Ultra
|
||||
- Galaxy A54, A73 (haut de gamme)
|
||||
|
||||
#### Google Pixel
|
||||
- Pixel 6, 6 Pro, 6a (Android 12+)
|
||||
- Pixel 7, 7 Pro, 7a (Android 13+)
|
||||
- Pixel 8, 8 Pro, 8a (Android 14+)
|
||||
- Pixel 9, 9 Pro, 9 Pro XL (Android 14+)
|
||||
- Pixel Fold (Android 13+)
|
||||
- Pixel Tablet (Android 13+)
|
||||
|
||||
#### OnePlus
|
||||
- OnePlus 9, 9 Pro (Android 11+)
|
||||
- OnePlus 10 Pro, 10T (Android 12+)
|
||||
- OnePlus 11, 11R (Android 13+)
|
||||
- OnePlus 12, 12R (Android 14+)
|
||||
- OnePlus Open (Android 13+)
|
||||
|
||||
#### Xiaomi
|
||||
- Mi 11, 11 Ultra (Android 11+)
|
||||
- Xiaomi 12, 12 Pro, 12T Pro (Android 12+)
|
||||
- Xiaomi 13, 13 Pro, 13T Pro (Android 13+)
|
||||
- Xiaomi 14, 14 Pro, 14 Ultra (Android 14+)
|
||||
|
||||
#### Autres marques
|
||||
- OPPO Find X3/X5/X6 Pro, Find N2/N3
|
||||
- Realme GT 2 Pro, GT 3, GT 5 Pro
|
||||
- Honor Magic5/6 Pro, 90
|
||||
- ASUS Zenfone 9/10, ROG Phone 7
|
||||
- Nothing Phone (1), (2), (2a)
|
||||
|
||||
## 🌍 Disponibilité par pays
|
||||
|
||||
### Europe
|
||||
- ✅ France : Disponible
|
||||
- ✅ Royaume-Uni : Disponible
|
||||
- ✅ Allemagne : Disponible
|
||||
- ✅ Pays-Bas : Disponible
|
||||
- ✅ Irlande : Disponible
|
||||
- ✅ Italie : Disponible (récent)
|
||||
- ✅ Espagne : Disponible (récent)
|
||||
|
||||
### Amérique
|
||||
- ✅ États-Unis : Disponible (+ Discover)
|
||||
- ✅ Canada : Disponible (+ Interac)
|
||||
- ❌ Puerto Rico : Non disponible
|
||||
- ❌ Mexique : Non disponible
|
||||
|
||||
### Asie-Pacifique
|
||||
- ✅ Australie : Disponible (+ eftpos)
|
||||
- ✅ Nouvelle-Zélande : Disponible
|
||||
- ✅ Singapour : Disponible
|
||||
- ✅ Japon : Disponible (récent)
|
||||
|
||||
## 🔧 Intégration technique
|
||||
|
||||
### SDK Requirements
|
||||
|
||||
```javascript
|
||||
// iOS
|
||||
pod 'StripeTerminal', '~> 2.23.0' // Minimum pour Tap to Pay
|
||||
pod 'StripeTerminal', '~> 3.6.0' // Pour support Interac
|
||||
|
||||
// Android
|
||||
implementation 'com.stripe:stripeterminal-taptopay:3.7.1'
|
||||
implementation 'com.stripe:stripeterminal-core:3.7.1'
|
||||
|
||||
// React Native
|
||||
"@stripe/stripe-terminal-react-native": "^0.0.1-beta.17"
|
||||
|
||||
// Flutter
|
||||
stripe_terminal: ^3.2.0
|
||||
```
|
||||
|
||||
### Capacités requises
|
||||
|
||||
#### iOS Info.plist
|
||||
```xml
|
||||
<key>NSBluetoothAlwaysUsageDescription</key>
|
||||
<string>Bluetooth nécessaire pour Tap to Pay</string>
|
||||
<key>NFCReaderUsageDescription</key>
|
||||
<string>NFC nécessaire pour lire les cartes</string>
|
||||
<key>com.apple.developer.proximity-reader</key>
|
||||
<true/>
|
||||
```
|
||||
|
||||
#### Android Manifest
|
||||
```xml
|
||||
<uses-permission android:name="android.permission.NFC" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-feature android:name="android.hardware.nfc" android:required="true" />
|
||||
```
|
||||
|
||||
## 📊 Limites techniques
|
||||
|
||||
| Limite | Valeur | Notes |
|
||||
|--------|--------|-------|
|
||||
| **Montant min** | 1€ / $1 | Selon devise |
|
||||
| **Montant max** | Variable par pays | France : 50€ sans PIN, illimité avec PIN |
|
||||
| **Timeout transaction** | 60 secondes | Après présentation carte |
|
||||
| **Distance NFC** | 4cm max | Distance optimale |
|
||||
| **Tentatives PIN** | 3 max | Puis carte bloquée |
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
### Certifications
|
||||
- PCI-DSS Level 1
|
||||
- EMV Contactless Level 1
|
||||
- Apple ProximityReader Framework
|
||||
- Google SafetyNet Attestation
|
||||
|
||||
### Données sensibles
|
||||
- Les données de carte ne transitent JAMAIS par l'appareil
|
||||
- Tokenisation end-to-end par Stripe
|
||||
- Pas de stockage local des données carte
|
||||
- PIN chiffré directement vers Stripe
|
||||
|
||||
## 📚 Ressources officielles
|
||||
|
||||
- [Documentation Stripe Terminal](https://docs.stripe.com/terminal)
|
||||
- [Tap to Pay sur iPhone - Apple Developer](https://developer.apple.com/tap-to-pay/)
|
||||
- [Guide d'intégration iOS](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=ios)
|
||||
- [Guide d'intégration Android](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=android)
|
||||
- [SDK Terminal iOS](https://github.com/stripe/stripe-terminal-ios)
|
||||
- [SDK Terminal Android](https://github.com/stripe/stripe-terminal-android)
|
||||
|
||||
## 🔄 Historique des versions
|
||||
|
||||
| Date | Version iOS | Changement |
|
||||
|------|-------------|------------|
|
||||
| Sept 2022 | iOS 16.0 | Lancement initial Tap to Pay |
|
||||
| Mars 2023 | iOS 16.4 | Ajout support PIN |
|
||||
| Sept 2023 | iOS 17.0 | Améliorations performances |
|
||||
| Sept 2024 | iOS 18.0 | Support étendu international |
|
||||
|
||||
---
|
||||
|
||||
*Document maintenu par l'équipe GeoSector - Dernière mise à jour : 29/09/2025*
|
||||
Reference in New Issue
Block a user