Ihre Kunden nutzen das Smartphone, um online einzukaufen. Häufig kommt es beim mobilen Check-out allerdings zu Kaufabbrüchen, wenn Benutzername und Passwort eingegeben werden müssen. Ab sofort können die Zahlungen einfach per Fingerabdruck, Gesichtserkennung oder PIN bestätigt werden.
Was die neue Funktion kann und wie diese verwendet
wird, können Sie direkt über den Video-Link anschauen. Sie erfahren dadurch noch
mehr und können sich die App herunterladen und selber
ausprobieren.
https://www.youtube.com/watch?v=l6ptcJOmM-E
... ist bei der Verwendung von Android ein letzter Schritt notwendig. Wir stellen dadurch die reibunglose Kommunikation zwischen ihrer Händler-App und der paydirekt-App sicher. Durch ihre Einbindung unseres Checkouts über einen WebView kommt es zu einem Fehler. Der Klick auf den „Mit paydirekt-App zahlen“-Button löst im besten Fall einen „Intent“ des Android-Systems aus, auf den wir im Anschluss mit der paydirekt-App reagieren können. Dies geschieht in der Android-Version ihrer App leider nicht und infolge dessen kann unsere App nicht gefunden werden. Der Kunde kann den Kauf in ihrer App trotz installierter paydirekt-App nicht mit dieser abschließen. Das ist weder für Sie, ihre Kunden oder uns zufriedenstellend und deshalb gibt es für Sie und ihr Team im Folgenden die Lösung.
Mit Hilfe der folgenden Zeilen läuft die neue Funktion auch auf Android Smartphones ohne Probleme. Durch den Code stellen Sie „von Hand“ sicher, dass bei der Navigation auch im WebView ein “Intent“ des Android-Systems ausgelöst wird.
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { if (isPaydirektAppLinkUrl(request?.url)) { val paydirektAppLinkIntent = Intent(Intent.ACTION_VIEW).apply { data = request?.url } if (isPaydirektAppAvailable(appLinkIntent, view?.context)) { view?.context?.startActivity(paydirektAppLinkIntent) return true } } return super.shouldOverrideUrlLoading(view, request) } private fun isPaydirektAppLinkUrl(uri: Uri?) = uri?.host?.startsWith("app.paydirekt.de") == true private fun isPaydirektAppAvailable(intent: Intent, context: Context?): Boolean { val intentInfo = context?.packageManager?.queryIntentActivities(intent, 0) return intentInfo?.filter { info -> info.activityInfo.packageName.contains("com.gimb.paydirekt.app") } != null }
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { if (isPaydirektAppLinkUrl(request.getUrl())) { Intent paydirektAppLinkIntent = new Intent(Intent.ACTION_VIEW); paydirektAppLinkIntent.setData(request.getUrl()); if (isPaydirektAppAvailable(appLinkIntent, view.getContext())) { view.getContext().startActivity(paydirektAppLinkIntent); return true; } } return super.shouldOverrideUrlLoading(view, request); } private boolean isPaydirektAppLinkUrl(Uri uri) { if (uri != null && uri.getHost() != null) { return uri.getHost().startsWith("app.paydirekt.de"); } return false; } private boolean isPaydirektAppAvailable(Intent intent, Context context) { ListintentInfo = context.getPackageManager().queryIntentActivities(intent, 0); for (ResolveInfo info : intentInfo) { if (info.activityInfo.packageName.contains("com.gimb.paydirekt.app")) { return true; } } return false; }