Utiliser des portefeuilles électroniques avec Issuing
Comment utiliser Issuing pour ajouter des cartes à des portefeuilles électroniques.
Issuing permet aux utilisateurs d’ajouter des cartes à des portefeuilles électroniques comme Apple Pay et Google Pay. Stripe prend en charge l’ajout de cartes via deux méthodes :
- Mise en service manuelle : les titulaires de carte saisissent les informations de leur carte dans l’application de portefeuille de leur téléphone pour l’ajouter à leur portefeuille électronique.
- Mise en service de type push : les applications mobiles permettent aux utilisateurs d’ajouter des cartes à leur portefeuille électronique directement depuis l’application.
Lorsqu’une carte est ajoutée à un portefeuille électronique, une représentation tokenisée de cette carte est créée. Les tokens de réseau sont gérés séparément des cartes. Pour en savoir plus sur les tokens de réseau et leur fonctionnement, veuillez consulter la page Gestion des tokens.
Mise en service manuelle
Les titulaires de cartes peuvent ajouter des cartes virtuelles et des cartes physiques Stripe Issuing à leurs portefeuilles Apple Pay, Google Pay et Samsung Pay par le biais d’une mise en service manuelle.
Pour ce faire, les titulaires de carte ouvrent l’application du portefeuille concerné sur leur téléphone et saisissent les informations de leur carte. Stripe envoie ensuite un code de vérification à 6 chiffres au phone_
ou email
du titulaire de la carte.
Un message d’erreur carte non prise en charge s’affiche si aucun de ces champs n’est renseigné pour le titulaire de la carte au moment où celle-ci est mise en service.
Aucun code n’est nécessaire pour mettre en œuvre la mise en service manuelle, mais le processus de configuration peut varier en fonction du fournisseur de portefeuille électronique et du pays dans lequel vous êtes établi :
États-Unis
Les portefeuilles Apple Pay nécessitent l’approbation d’Apple. Consultez vos paramètres de portefeuilles électroniques pour connaître l’état d’Apple Pay sur votre compte. Il est possible que vous deviez soumettre une demande avant d’utiliser Apple Pay.
Google Pay et Samsung Pay ne nécessitent aucune étape supplémentaire.
UE/Royaume-Uni
Les intégrations de portefeuilles électroniques nécessitent une approbation supplémentaire de la part de l’équipe de partenariat Stripe. Pour en savoir plus, contactez le représentant de votre compte ou contactez Stripe.
Les portefeuilles Apple Pay nécessitent une autorisation supplémentaire. Vérifiez vos paramètres de portefeuilles électroniques pour connaître l’état d’Apple Pay sur votre compte. Il est possible que vous deviez soumettre une demande avant de pouvoir utiliser Apple Pay.
Mise en service de type push
Avec la mise en service de type push, les titulaires de carte peuvent ajouter leurs cartes Stripe Issuing à leurs portefeuilles électroniques grâce à votre application, en appuyant sur un bouton « Ajouter au portefeuille » comme ceux illustrés ci-dessous.
Pour activer la mise en service de type push aux États-Unis, les utilisateurs doivent d’abord effectuer les étapes de mise en service manuelle. En plus de l’approbation de la mise en service manuelle, la mise en service de type push nécessite une intégration avec le SDK Stripe.
Cela nécessite à la fois des processus d’approbation via Stripe et une intégration de code avec le SDK Stripe pour chaque plateforme sur laquelle vous souhaitez prendre en charge la mise en service de type push. Les approbations de la plateforme se répercutent sur tous les comptes connectés.
La mise en service de type push de Samsung Pay n’est pas prise en charge par nos SDK.
Demander un accès
Une mise en service de type push nécessite un droit Apple spécial appelé com.
. Vous pouvez demander ce droit par e-mail à l’adresse support-issuing@stripe.com. Dans votre e-mail, veillez à inclure les informations suivantes :
- Nom de l’application : le nom de votre application.
- ID de l’équipe de développeurs : disponible dans la section abonnement des paramètres de votre compte Apple Developer (par exemple,
2A23JCNA5E
). - ID ADAM : l’ID numérique unique de votre application, que vous trouverez sur l’App Store Connect ou dans le lien de l’App Store vers votre application (par exemple,
https://apps.
).apple. com/app/id123456789 - ID de groupe (bundle ID) : l’identifiant de groupe de votre application, également disponible sur l’App Store Connect (par exemple,
com.
).example. yourapp
Si vous avez plusieurs applications (par exemple pour effectuer des tests), qui ont des champs différents pour les attributs ci-dessus, vous devrez demander l’accès pour chacune d’entre elles.
Une fois que nous avons approuvé et appliqué votre demande, votre application apparaît sur la page d’informations de la carte ajoutée dans l’app Cartes, et l’objet PKSecureElementPass
est disponible dans votre application en appelant PKPassLibrary().
. Vous devrez peut-être supprimer et ajouter à nouveau la carte pour que les modifications soient effectives.
Vérifier votre admissibilitéCôté client
Assurez-vous d’avoir intégré à votre application la dernière version du SDK iOS de Stripe.
Déterminez si l’appareil est éligible à la mise en service de type push.
- Vérifiez que la valeur
wallets[apple_
de la carte émise est définie surpay][eligible] true
. - Appelez
PKPassLibrary().
avec lecanAddSecureElementPass(primaryAccountIdentifier:) wallets[primary_
de votre carte et vérifiez que le résultat estaccount_ identifier] true
. Si leprimary_
est vide, transmettez une chaîne vide àaccount_ identifier canAddSecureElementPass()
.
Récupérez ces valeurs sur votre back-end, puis transmettez-les à votre application pour vérifier l’éligibilité.
Avertissement
Avant d’afficher le bouton PKAddPassButton
, vous devez vérifier le flag wallets[apple_
côté serveur et le résultat de canAddSecureElementPass()
. Si vous affichez le bouton Ajouter à Apple Wallet sans vérifier ces valeurs, App Review peut rejeter votre application.
Pour plus de contexte, consultez à chaque étape les extraits de code proposés et les renvois vers l’application test. Pour cette étape, observez comment l’application test vérifie l’admissibilité.
Ajouter une carteCôté client
Lorsque l’utilisateur touche le bouton PKAddPassButton
, créez et présentez un PKAddPaymentPassViewController
contenant l’interface utilisateur d’Apple pour le flux de mise en service de type push.
Note
PKAddPaymentPassViewController
peut utiliser l’attribut primaryAccountIdentifier
de l’étape précédente pour déterminer si une carte a déjà été ajoutée à un appareil spécifique. Par exemple, si la carte a été ajoutée à un iPhone, l’interface utilisateur d’Apple proposera de l’ajouter à une Apple Watch associée.
Pour plus de contexte, observez comment l’application test utilise un PKAddPaymentPassViewController
.
L’initialiseur du PKAddPaymentPassViewController
nécessite un délégué que vous devez implémenter. Généralement, il s’agit simplement du contrôleur d’affichage à partir duquel vous le présentez. Nous fournissons une classe nommée STPPushProvisioningContext
pour vous aider à implémenter ces méthodes.
Pour plus de contexte, observez comment l’application test met en œuvrePKAddPaymentPassViewControllerDelegate
.
Vous pouvez constater que l’initialiseur du STPPushProvisioningContext
requiert un keyProvider
. Il s’agit d’une instance d’une classe qui implémente le protocole STPIssuingCardEphemeralKeyProvider
.
Ce protocole définit une seule méthode obligatoire, createIssuingCardKeyWithAPIVersion:completion
. Pour implémenter cette méthode, effectuez un appel à l’API vers votre back-end. Votre back-end crée un objet Ephemeral Key à l’aide de l’API Stripe et le renvoie à votre application. Votre application appelle ensuite le gestionnaire d’exécution fourni avec la réponse API de votre back-end.
Pour plus de contexte, observez comment l’application test met en œuvreSTPIssuingCardEphemeralKeyProvider
.
Mettre votre back-end à jourCôté serveur
L’implémentation de la mise en service de type push expose des méthodes qui requièrent que vous communiquiez avec votre back-end pour créer une clé éphémère Stripe et renvoyer un JSON de celle-ci à votre application. Cette clé est un identifiant éphémère de l’API que vous pouvez utiliser pour récupérer les informations de carte chiffrées d’une instance unique d’un objet Card.
Pour garantir que l’objet renvoyé par l’API Stripe est compatible avec la version du SDK iOS ou Android que vous utilisez, le SDK Stripe vous indique quelle version d’API il privilégie. Vous devez explicitement transmettre cette version d’API à notre API lorsque vous créez la clé.
{ "id": "ephkey_1G4V6eEEs6YsaMZ2P1diLWdj", "object": "ephemeral_key", "associated_objects": [ { "id": "ic_1GWQp6EESaYspYZ9uSEZOcq9", "type": "issuing.card" } ], "created": 1586556828, "expires": 1586560428, "livemode": false, "secret": "ek_test_YWNjdF8xRmdlTjZFRHelWWxwWVo5LEtLWFk0amJ2N0JOa0htU1JzEZkd2RpYkpJdnM_00z2ftxCGG" }
Pour plus de contexte, observez comment l’exemple de backend créée une clé Stripe éphémère.
Tests
Le droit com.
fonctionne uniquement avec des profils de mise en service en mode distribution, ce qui signifie que, même après l’avoir obtenu, la seule façon de tester le flux de mise en service de bout en bout est de distribuer votre application avec TestFlight ou avec l’App Store.
Pour vous aider concernant les tests, nous fournissons une version fictive du PKAddPaymentPassViewController
nommée STPFakeAddPaymentPassViewController
qui peut être utilisée de façon interchangeable durant les tests.
Pour créer l’application test, suivez les étapes décrites dans le fichier readme. Il n’est pas nécessaire de créer l’application pour suivre les instructions ci-dessus.