SDK pour Android / Intégrer le SDK côté application
  Retour à la documentation

SDK pour Android

Intégrer le SDK côté application

Logique générale d'achat

  1. Implémentez la logique d'obtention de jetons de paiement de l'une des manières suivantes :
    • En utilisant la bibliothèque Store (recommandé) :
      • Pour l'achat d'un seul objet, appelez la méthode createOrderByItemSku.
      • Pour l'achat des objets du panier :
        1. Après que l'utilisateur a rempli le panier, appelez la méthode fillCurrentCartWithItems ;
        2. Appelez la méthode createOrderFromCartById ou createOrderFromCurrentCart.

    • En utilisant IGS API.
    • En utilisant vos propres méthodes serveur ou les méthodes de la solution BaaS.

  1. Implémentez la logique d'ouverture de l'interface UI :
Copy
Full screen
Small screen
val intent = XPayments.createIntentBuilder(this)
               .accessToken(<accessToken>)
               .isSandbox(<isSandbox>)
           	.setStatusReceivedCallback(object : StatusReceivedCallback {
               	override fun onSuccess(data: InvoicesDataResponse) {
                   		Log.d(TAG, "StatusReceivedCallback is fired. Result data = $data")
               	}
           	})
           	.build()
Note
Consultez le projet de démo pour un exemple d’implémentation.

Options d'ouverture de l'interface de paiement

Le SDK pour Android propose trois méthodes d’intégration de l’interface de paiement dans l’application :

WebViewOnglets personnalisésTrusted Web Activity
Avantages
  • Rend le processus d’achat in-app transparent, car l’utilisateur ne voit pas de transitions entre l’application et la page Web.
  • Absence de barre d’outils standard en haut de l’écran.
  • Intégration native avec Google Wallet et d’autres services de paiement mobiles. Cela permet à l utilisateur de remplir automatiquement les champs avec les informations enregistrées, telles que l’adresse e-mail et les détails de carte bancaire.
  • Permet une transition fluide vers une page Web à l’aide d’un arrière-plan spécial et d’un effet de fondu.
  • Intégration native avec Google Wallet et d’autres services de paiement mobiles. Cela permet à l’utilisateur de remplir automatiquement les champs avec les informations enregistrées, telles que l’adresse e-mail et les détails de carte bancaire.
  • Permet le verrouillage de l’orientation de l’écran.
  • Absence de barre d’outils standard en haut de l’écran.
Inconvénients
  • Ne prend pas en charge les fonctionnalités sécurisées telles que Google Wallet.
  • Le remplissage automatique des champs avec des informations enregistrées, telles que l’adresse e-mail et les détails de carte bancaire, ne fonctionne pas.
  • Ouvre une page Web dans une fenêtre séparée superposée à l’application.
  • Les fonctionnalités varient selon le navigateur Chrome installé sur l’appareil de l’utilisateur et sa version.
  • Ne permet pas le verrouillage de l’orientation de l’écran.

Exemple d’affichage WebView :

Exemple d’affichage d’onglets personnalisés :

Exemple d’affichage de Trusted Web Activity :

Configurer le mode d'ouverture de l'interface de paiement

Par défaut, le SDK utilise les onglets personnalisés. Si les onglets personnalisés ne sont pas disponibles sur l’appareil de l’utilisateur, par exemple en l’absence d’un navigateur approprié, le SDK basculera automatiquement vers d’autres modes : d’abord WebView, puis le navigateur externe par défaut installé sur l’appareil.

Pour définir un autre mode principal d’ouverture de l’interface de paiement, utilisez la méthode setActivityType.

Exemple :

Copy
Full screen
Small screen
XPayments.createIntentBuilder(this)
  .accessToken(AccessToken(token))
  .isSandbox(BuildConfig.IS_SANDBOX)
  .setActivityType(ActivityType.TRUSTED_WEB_ACTIVITY)
  .build()

Si le mode principal n’est pas disponible, le SDK passe à d’autres modes dans l’ordre suivant : Trusted Web Activity > Onglets personnalisés > WebView > navigateur externe par défaut installé sur l’appareil.

Avis

Pour installer Trusted Web Activity comme mode prioritaire d’ouverture de l’interface de paiement, contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com.

Les informations suivantes sont requises :

Pour plus d’informations sur Trusted Web Activity, consultez la documentation Google.

Configurer le bouton de fermeture de l'interface de paiement

Nous recommandons de configurer un bouton de fermeture pour l’interface de paiement, étant donné que la barre de navigation et les éléments de navigation standard ne sont pas visibles à l’utilisateur dans WebView et Trusted Web Activity. Pour ce faire, dans l’objet PaymentOptions, dans le paramètre ui.mobile, passez l’objet mobile = UiMobileProjectSettingHeader avec le paramètre closeButton=true.

Sélectionnez l’icône qui s’affichera sur le bouton. Pour ce faire, passez l’une des valeurs suivantes dans le paramètre closeButtonIcon :

  • “arrow” — pour afficher l’icône  ;
  • “cross” — pour afficher l’icône × (utilisé par défaut).

Exemple d’objet PaymentOptions :

Copy
Full screen
Small screen
val paymentOptions = PaymentOptions(
            isSandbox = isSandbox,
            settings = PaymentProjectSettings(
                ui = UiProjectSetting(mobile = MobileSettings(header = UiMobileProjectSettingHeader(closeButton = true, closeButtonIcon = "arrow"))),
                returnUrl = "app://xpayment.${getApplication<Application>().packageName}",
                redirectPolicy = SettingsRedirectPolicy(
                    redirectConditions = "any",
                    delay = 5,
                    statusForManualRedirection = "any",
                    redirectButtonCaption = "Back to the Game"
                )
            )
        )

Exemple d’utilisation des paramètres closeButton et closeButtonIcon dans WebView et Trusted Web Activity :

Cet article vous a été utile ?
Merci !
Que pouvons-nous améliorer ? Message
Nous sommes désolés de l'apprendre
Dites-nous pourquoi vous n'avez pas trouvé cet article utile. Message
Merci pour votre commentaire !
Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.
Dernière mise à jour: 5 Septembre 2024

Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.

Signaler un problème
Nous améliorons continuellement notre contenu grâce à vos commentaires.
Indiquez votre adresse e-mail pour un suivi
Merci pour votre commentaire !