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é) :
      1. Pour l'achat d'un seul objet, appelez la méthode createOrderByItemSku.
      2. 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.

    • À l'aide de IGS & BB API.
    • À l'aide de vos propres méthodes de serveur ou de méthodes de solution BaaS.

  1. Implémentez la logique d'ouverture de l'interface UI :
Note
Consultez le projet de démo pour un exemple d’implémentation.
Copy
Full screen
Small screen
vmPurchase.paymentToken.observe(this) { token ->
    val intent = XPayments.createIntentBuilder(this)
        .accessToken(AccessToken(token))
        .isSandbox(BuildConfig.IS_SANDBOX)
        .useWebview(true)
        .build()
    startActivityForResult(intent, RC_PAYSTATION)
}
  1. implémentez la gestion des résultats des paiements :
Copy
Full screen
Small screen
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == RC_PAYSTATION) {
        val (status, _) = XPayments.Result.fromResultIntent(data)
        when (status) {
            XPayments.Status.COMPLETED -> showSnack(getString(R.string.payment_completed))
            XPayments.Status.CANCELLED -> showSnack(getString(R.string.payment_cancelled))
            XPayments.Status.UNKNOWN -> showSnack(getString(R.string.payment_unknown))
        }
    }
}
Note
Consultez le projet de démo pour un exemple d’implémentation.

Options d'ouverture de l'interface de paiement

En fonction des paramètres passés à la méthode XPayments.createIntentBuilder, l’interface de paiement s’ouvre dans une WebView ou un onglet personnalisé.

Si le paramètre useWebview(true) est passé, l’interface de paiement s’ouvre toujours dans une WebView.

Un onglet personnalisé est utilisé si les conditions suivantes sont remplies :

  • Lors de l’appel de XPayments.createIntentBuilder, le paramètre useWebview n’est pas passé ou useWebview(false) est passé ;
  • Le dispositif de l’utilisateur utilise l’un des navigateurs suivants par défaut :
    • Google Chrome,
    • Samsung, Internet Browser,
    • Huawei Browser.

Si un autre navigateur est utilisé, l’interface de paiement s’ouvre dans une WebView, quels que soient les paramètres de la méthode XPayments.createIntentBuilder.

Dans une WebView, l’utilisateur ne voit ni la barre de navigation, ni ses éléments standard, ce qui rend le processus d’achat intégré plus fluide. Toutefois, vous devez ajouter l’icône à l’application, afin que l’utilisateur puisse fermer l’interface de paiement à n’importe quelle étape de l’achat. Référez-vous à l’exemple de modification dans l’application de démo.

Dans un onglet personnalisé, l’utilisateur ferme l’interface de paiement en cliquant sur l’icône .

Exemple d’utilisation d’une WebView :

Exemple d’utilisation d’un onglet personnalisé :

Votre progression
Merci pour votre commentaire !
Dernière mise à jour: 21 Mars 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 !