Headless SDK (Enregistrement iOS)


👍

SDK recommandé

Nous recommandons d'utiliser le SDK Seamless iOS pour une expérience d'intégration fluide. Cette option offre une solution de paiement flexible avec des composants d'interface utilisateur (UI) pré-construits et des options de personnalisation.

Le Headless iOS SDK de Yuno vous permet de vous inscrire à des méthodes de paiement et de tokeniser les cartes, en les enregistrant pour une utilisation future.

Les étapes suivantes décrivent l'enregistrement d'une méthode de paiement à l'aide du Headless SDK de Yuno.

📘

Guide d'inscription

Cette page présente toutes les étapes à suivre pour utiliser le Headless SDK afin de s'inscrire à une méthode de paiement. Pour un guide complet, incluant la création de clients, visitez Headless SDK (Inscription).

Prérequis

Pour exécuter la procédure d'inscription, vous devez fournir la customer_session pour démarrer le processus à  l'Étape 3. Pour obtenir la customer_session, vous devez :

  1. Créer un client: Un client doit s'inscrire aux paiements. Utilisez le endpoint  Créer un client pour créer de nouveaux clients. Dans la réponse, vous recevrez l' id, que vous utilisez pour créer la session client.
  2. Créer la session client: Utiliser le client id  et  Créer session client  pour recevoir la customer_session.

Une description complète du processus d'inscription est présentée dans Headless SDK (Inscription).

Étape 1 : Inclure la bibliothèque dans votre projet

La première étape consiste à installer Yuno SDK dans votre projet iOS.

📘

Vérifier les versions du SDK iOS

Pour consulter toutes les versions disponibles, visitez la page des versions sur le référentiel Yuno iOS SDK.

Vous pouvez installer Yuno SDK de deux manières :

  • Cocoapodes: Si vous n'avez pas de Podfile, suivez le guide suivant CocoaPods pour en créer un. Après avoir créé le Podfile, vous intégrerez le Yuno SDK avec Cocoapods en ajoutant la ligne ci-dessous à votre Podfile :
    pod 'YunoSDK', '~> {last_version}'
  • Swift Package Manager: Configurez le package Swift, puis ajoutez Yuno SDK en tant que dépendance, comme présenté dans le bloc de code suivant :
    dependencies: [
        .package(url: "https://github.com/yuno-payments/yuno-sdk-ios.git", .upToNextMajor(from: "{last_version}"))
    ]

Étape 2 : Initialiser le SDK Headless avec la clé publique

Pour initialiser le Headless SDK, vous devez importer Yuno et fournir une PUBLIC_API_KEY valide. Si vous n'avez pas vos identifiants API, accédez à la page Développeurs (Identifiants) pour savoir comment les récupérer depuis le tableau de bord.

🚧

Initialisation de UISceneDelegate

Si votre application utilise un UISceneDelegateassurez-vous de placer le code d'initialisation de Yuno dans votre SceneDelegate. En savoir plus

Le bloc de code ci-dessous présente un exemple d'importation et d'initialisation du Yuno.

import Yuno

Yuno.initialize(
    apiKey: "PUBLIC_API_KEY"
)

Étape 3 : Créer une session client

Pour commencer la procédure d'inscription, vous devez fournir les informations suivantes customer_session. Tout d'abord, vous devez créer un client. Vous avez besoin d'un client pour enregistrer des paiements. Utilisez le endpoint  Créer un client pour créer de nouveaux clients. Dans la réponse, vous recevrez l' id, que vous utilisez pour créer la session client.

Après avoir créé le client, vous pouvez créer la session client. Utilisez l' id  et  Créer session client . Le customer_session sera fournie dans la réponse. Vous avez besoin d'une nouvelle customer_session chaque fois que vous enregistrez une nouvelle méthode de paiement.

Étape 4 : Créer un objet de méthode de paiement pour l'inscription

Vous avez besoin d'un objet de méthode de paiement pour l'enregistrement afin de configurer l'intégration du SDK Headless pour l'enregistrement. Vous pouvez en créer un à l'aide du l'endpoint Enregistrer Méthode de Paiement. Lors de la création de l'objet de méthode de paiement, vous devez définir la méthode de paiement à laquelle votre client peut s'enregistrer. Actuellement, seule la CARTE est disponible pour le SDK Headless.

📘

Vérification de la carte

Pour vérifier les cartes avec une autorisation de valeur zéro avant l'enregistrement, incluez l'objet verify lors de la création de l'objet de méthode de paiement pour la session client.

Étape 5 : Démarrer la procédure d'inscription

Ensuite, vous démarrerez le processus de paiement en utilisant la fonction apiClientEnroll en fournissant les paramètres de configuration nécessaires. Paramètres

Le tableau suivant répertorie tous les paramètres requis et leurs descriptions.

ParamètresDescription
countryCodeCe paramètre détermine le pays pour lequel le processus de paiement est configuré. La liste complète des pays pris en charge et leurs countryCode est disponible sur la page  Couverture par Pays .
customer_sessionFait référence à la session client de l'inscription en cours, reçue en réponse au endpoint "Créer une session client". Exemple: '438413b7-4921-41e4-b8f3-28a5a0141638'

Le bloc de code suivant présente un exemple de configuration des paramètres.

var apiClientEnroll : YunoEnrollHeadless ?

apiClientEnroll = Yuno.apiClientEnroll(
 countryCode: « CO »,
    customer_session : « eec6578e-ac2f-40a0-8065-25b5957f6dd3 »
)

Étape 6 : Générer un token vaulté

Après avoir collecté toutes les informations utilisateur, vous pouvez démarrer l'inscription. Tout d'abord, vous devez créer un vaulted_token en utilisant la fonction apiClientEnroll.continueEnrollment. Comme il s'agit d'une fonction asynchrone, vous pouvez utiliser do/catch pour vous assurer que vous gérerez correctement les erreurs déclenchées. Ci-dessous, vous trouverez un exemple de création d'un vaulted_token:

let enrollmentCollectedData : EnrollmentCollectedData = EnrollmentCollectedData(
    customerSession : "eec6578e-ac2f-40a0-8065-25b5957f6dd3",
    paymentMethod : Données collectées(
        type : "CARD",
        card : CardData(
            detail : CardData.Detail(
                numéro : "4111111111111111",
                expirationMonth : 12,
                expirationYear : 25,
                securityCode : "123",
                holderName : "Andrea",
                type : .credit
            )
        ),
        client : Client()
    )
)

let result = try await apiClientEnroll.continueEnrollment(data : enrollmentCollectedData)

Après avoir enregistré la nouvelle carte, vous recevrez le vaulted_token, que vous pourrez utiliser pour effectuer des paiements à l'avenir sans demander les informations de carte de votre client. Le bloc de code suivant présente un exemple de réponse de la fonction apiClientEnroll.continueEnrollment . La réponse est un dictionnaire de type [String: Any].

[
 vaulted_token : « 9104911d-5df9-429e-8488-ad41abea1a4b »,
 statut : « ENROLLED »,

 EXPIRED,
 REJECTED,
   
 READY_TO_ENROLL,
    ENROLL_IN_PROCESS,
    UNENROLL_IN_PROCESS,
    IN_PROCESS,
    ENROLLED,
 DECLINED,
    CANCELED,
 ERROR,
    UNENROLLED;
 client : [
   session : « eec6578e-ac2f-40a0-8065-25b5957f6dd3 »
 ]
]
📘

Utilisation de Webhooks pour le statut d'inscription

Envisagez d'utiliser le statut d'enregistrement reçu via les Webhooks. Yuno recommande de toujours utiliser ce statut pour baser et prendre des décisions commerciales sur votre plateforme.

📘

Accéder à l'application de démonstration

En plus des exemples de code fournis, vous pouvez accéder au dépôt Yuno pour une implémentation complète des SDK iOS de Yuno.