Problèmes connus sous Android 4.4
Remarque : En tant que partenaire ISV/Paysafe, vous devrez effectuer toutes les étapes « marchand » ci-dessous au nom de l’entité juridique mère des marchands (PMLE) sous laquelle vos marchands exerceront leurs activités.
La SDK Android Paysafe est compatible avec les versions 4.4 et ultérieures d’Android. Cependant, certains problèmes connus ne se produisent que sous Android 4.4 et ne sont pas gérés par la SDK. Vous devez envisager de les résoudre dans votre application.
Mettre à jour votre prestataire de services de sécurité
Sous les rideaux, la SDK Android Paysafe Android utilise des connexions sécurisées vers des services dorsaux. Android s’appuie sur un prestataire de services de sécurité pour assurer cette communication sécurisée. Le prestataire de services de sécurité par défaut sous Android 4.4 présente certaines vulnérabilités et vous devez le mettre à jour.
private void updateSecurityProvider() {
ProviderInstaller.installIfNeededAsync(context, new ProviderInstaller.ProviderInstallListener() {
@Override
public void onProviderInstalled() {
// Le fournisseur est à jour; l’application peut passer des appels réseau sécurisés et utiliser Paysafe Android SDK
}
@Override
public void onProviderInstallFailed(int errorCode, Intent intent) {
GoogleApiAvailability availability = GoogleApiAvailability.getInstance();
if (availability.isUserResolvableError(errorCode)) {
// Erreur récupérable. Affiche une boîte de dialogue invitant l’utilisateur à
// installer/mettre à jour/activer les services Google Play.
availability.showErrorDialogFragment(
context,
errorCode,
ERROR_DIALOG_REQUEST_CODE,
new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// L’utilisateur a choisi de ne pas effectuer l’action de récupération; notifiez l’utilisateur
}
});
} else {
// Les services Google Play ne sont pas disponibles; informez l’utilisateur
}
}
});
}
Il est obligatoire de mettre à jour le prestataire de services de sécurité avant de créer une instance de PaysafeApiClient. L’endroit idéal pour le faire est dans votre méthode Application.onCreate().
Pour de plus amples renseignements, veuillez vous référer à la documentation officielle : Mettez à jour votre prestataire de services de sécurité pour vous protéger contre les exploits SSL.
Informer l’utilisateur qu’il doit activer les services de localisation
Si l’utilisateur a désactivé ses services de localisation et que votre application déclare l’une des permissions suivantes dans le fichier AndroidManifest.xml :
Vous devez vous assurer que l’utilisateur a activé ses services de localisation avant la création d’une instance de ThreeDSecureService.
private void checkLocationServicesEnabled() {
LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if (lm != null && !lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
context.startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS))
}
}
Cette étape est nécessaire, car si les services de localisation ne sont pas activés avant la création d’une instance de ThreeDSecureService, l’initialisation échouera avec une NullPointerException. Il s’agit d’un problème connu, et nous nous efforçons de le résoudre.