SDK aufseiten der Anwendung integrieren
Allgemeine Kauflogik
- Implementieren Sie die Logik für den Abruf eines Zahlungstokens auf eine der folgenden Weisen:
- Mithilfe der Store-Bibliothek (empfohlen):
- Um einen einzelnen Artikel zu kaufen, rufen Sie die Methode
createOrderByItemSku
auf. - Um die Artikel im Warenkorb zu kaufen:
- Nachdem der Kunde den Warenkorb gefüllt hat, rufen Sie die Methode
fillCurrentCartWithItems
auf. - Rufen Sie entweder die Methode
createOrderFromCartById
odercreateOrderFromCurrentCart
auf.
- Nachdem der Kunde den Warenkorb gefüllt hat, rufen Sie die Methode
- Um einen einzelnen Artikel zu kaufen, rufen Sie die Methode
- Mithilfe der Store-Bibliothek (empfohlen):
- Mithilfe von IGS & BB API.
- Mithilfe Ihrer eigenen Servermethoden oder BaaS-Lösungen.
- Implementieren Sie die Logik des Zahlungsportals:
- 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)
}
- Implementieren Sie die Handhabung der Zahlungsergebnisse:
- 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))
}
}
}
Öffnungsmöglichkeiten für das Zahlungsportal
Je nachdem, welche Parameter an die Methode XPayments.createIntentBuilder
übermittelt werden, wird das Zahlungsportal in WebView oder in einem benutzerdefinierten Tab geöffnet.
Wird der Parameter useWebview(true)
übermittelt, wird das Zahlungsportal immer in WebView geöffnet.
Ein benutzerdefinierter Tab wird verwendet, wenn die folgenden Bedingungen erfüllt sind:
- Beim Aufruf von
XPayments.createIntentBuilder
wird der ParameteruseWebview
nicht übermittelt oder es wirduseWebview(false)
übermittelt. - Das Gerät des Nutzers verwendet standardmäßig einen der folgenden Browser:
- Google Chrome
- Samsung Internet Browser
- Huawei Browser
Wird ein anderer Browser verwendet, wird das Zahlungsportal in WebView geöffnet, unabhängig von den Parametern der Methode XPayments.createIntentBuilder
.
In WebView werden dem Nutzer weder die Browserleiste noch die Standardnavigationselemente angezeigt. Dadurch wirkt der In-App-Kauf übersichtlicher. Sie müssen jedoch die Anwendung anpassen und um ein Pfeilsymbol (←) ergänzen, damit der Nutzer das Zahlungsportal in jeder Phase des Kaufvorgangs schließen kann. Ein Beispiel für die Anpassung finden Sie in der Demo-Anwendung.
Im benutzerdefinierten Tab kann der Nutzer das Zahlungsportal durch einen Klick auf das Symbol ✖ schließen.
Nutzung von WebView (Beispiel):
Nutzung eines benutzerdefinierten Tabs (Beispiel):
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.