Intégrer le SDK côté application
Logique générale d'achat
- 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 :
- Après que l'utilisateur a rempli le panier, appelez la méthode
fillCurrentCartWithItems
. - Appelez la méthode
createOrderFromCartById
oucreateOrderFromCurrentCart
.
- Après que l'utilisateur a rempli le panier, appelez la méthode
- Pour l'achat d'un seul objet, appelez la méthode
- En utilisant la bibliothèque Store (recommandé) :
- À l'aide de IGS & BB API.
- À l'aide de vos propres méthodes de serveur ou de méthodes de solution BaaS.
- Implémentez la logique d'ouverture de l'interface UI :
- kotlin
vmPurchase.paymentToken.observe(this) { token ->
val intent = XPayments.createIntentBuilder(this)
.accessToken(AccessToken(token))
.isSandbox(BuildConfig.IS_SANDBOX)
.useWebview(true)
.build()
startActivityForResult(intent, RC_PAYSTATION)
}
- implémentez la gestion des résultats des paiements :
- kotlin
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))
}
}
}
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ètreuseWebview
n’est pas passé ouuseWebview(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é :
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.