- 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>
197 lines
6.1 KiB
Markdown
197 lines
6.1 KiB
Markdown
# 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* |