Paiements mobile avec Stripe
Est ce que ma feature nécessite des modifs front?
Est ce que je peux rendre ma feature rétrocompatible ou séparer les routes?
Je versionne mon API
L'ancien front fonctionne avec le nouveau back?
Le paiement mobile entré dans les moeurs
- En Europe, 77% utilisent leur smartphone pour paiement et ebanking...
- ... contre 18% en 2015
- 48% font leurs courses sur mobile vs. ordinateur
Source: Visa Europe, septembre 2017
Le standard PCI DSS
-
Payment Card Industry Data Security Standard
- Instauré par Visa MasterCard et cie.
- Il vise à "assurer constamment la protection des données sensibles que comportent les cartes de paiement, que ce soit durant leur traitement, leur stockage ou leur transmission"
Source: SIX Payment Services
12 standards à respecter
- Systèmes et réseaux sécurisés
- Protection des titulaires de carte
- Programme de gestion de la vulnérabilité
- Contrôle d'accès rigoureux
- Contrôle et test réguliers des réseaux
- Application de directives en matière de sécurité de l'information
Mais attention à ne pas se brûler...
- Bullet One
- Bullet Two
- Bullet Three
Je veux installer ma propre solution de paiement!
Qu'est ce qui m'attend?
Points épineux techniques...
- Réaliser un paiement à partir d'une carte: Convention avec banques
- Stocker infos bancaires: audit régulier de sécurité
... et business
- Paiements déclinés
- Remboursements
- Paiements frauduleux: détecter et récupérer le montant
Exemple: 5 minutes en moyenne pour vérifier un paiement suspect (enquête Merchant Risk Council, 2015)
Une solution: Stripe
- SaaS de paiement
- SDK pour manipuler les cartes bancaires + API de paiement + dashboard pour gestion de paiements
Combien ça coûte?
- 0,25 € + 1,4% (cartes européennes)
- 0,25 € + 2,9% (autres cartes)
Pour comparer:
Braintree: 2,9% minimum
Adyen: ~1%
Qu'est ce que ça me rapporte?
- Gestion déléguée du paiement avec les banques
- Conformité PCI + recommandations
- De nombreux outils disponibles: pré-autorisation, abonnements, détection de paiements frauduleux...
Application
SDK
Backend
Stripe
requestPayment
Token
API
createCharge
charge(customer.source)
1
2
3
4
5
6
Stripe
Request
3rd party backend
Authorization
Application backend
tok_*****
ch_*****
Success
Failure
Mobile application
1
2
Installation React Native
SDKs iOS et Android : 1 jh
yarn add tipsi-stripe
: 1h
Librairie JS
- Facile à installer
- Méthodes toutes prêtes
- Librairie non auditée
SDK
- Support officiel de Stripe
- Personnalisation poussée
- 100% compliant
Mise en place
- Créer un compte sur stripe.com
- Récupérer clés publique (SDK) et privée (API serveur)
- Activer compte Stripe pour recevoir paiements sur compte bancaire
- ⚠️ Support géographique partiel (DOM TOM, Afrique...)
Exemple 1
Paiement avec saisie de CB
~ 30 minutes
Points d'attention
- Le SDK ne peut que générer des jetons à partir de CBs valides
- Ne pas mélanger les couples clés publique/privée
- Un jeton n'est utilisable qu'une seule fois
Exemple 2
Remboursement
~ 30 minutes
Points d'attention
- Possibilité de rembourser en plusieurs fois
- Tous les frais sont à la charge du e-commerce
- Attention à la double commission prélevée par Stripe
Exemple 3
Paiement avec des cartes enregistrées
~ 1h30
Points d'attention
- Ne pas stocker les IDs de carte sur serveur
- Filtrer les cartes périmées
Pour la route
- Paiement en 2 étapes: autorisation et débit
- Logs API sur dashboard
Questions ?
Paiements par Stripe
By Yassine Chbani
Paiements par Stripe
- 766