diff --git a/GenesisAndroid/build.gradle b/GenesisAndroid/build.gradle index 78eaa25..3cf2e17 100644 --- a/GenesisAndroid/build.gradle +++ b/GenesisAndroid/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'kotlin-kapt' ext { PUBLISH_GROUP_ID = 'com.emerchantpay.gateway' - PUBLISH_VERSION = '1.3.91' + PUBLISH_VERSION = '1.3.92' PUBLISH_ARTIFACT_ID = 'genesis-android' PUBLISH_DESCRIPTION = 'Genesis Android SDK' PUBLISH_URL = 'https://github.com/GenesisGateway/android_sdk' @@ -27,7 +27,7 @@ android { minSdkVersion 19 targetSdkVersion 33 versionCode 1 - versionName "1.3.91" + versionName "1.3.92" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/GenesisClient.kt b/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/GenesisClient.kt index 032c8f6..96489fc 100644 --- a/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/GenesisClient.kt +++ b/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/GenesisClient.kt @@ -128,7 +128,6 @@ open class GenesisClient : Request { } // Retrieve and store consumer id - val sharedPrefs = GenesisSharedPreferences() val result = this.transaction?.request var consumerId = result?.transaction?.consumerId when { @@ -136,17 +135,7 @@ open class GenesisClient : Request { && consumerId.isNullOrEmpty() && !paymentRequest?.getCustomerEmail().isNullOrEmpty() -> { consumerId = retrieveConsumerIdFromGenesisGateway(paymentRequest?.getCustomerEmail()) - when { - !consumerId.isNullOrEmpty() -> - sharedPrefs.putString(context, SharedPrefConstants.CONSUMER_ID, - KeyStoreUtil(context).encryptData(consumerId)) - } } - sharedPrefs?.getString(context, SharedPrefConstants.CONSUMER_ID).isNullOrEmpty() - && response?.isSuccess == true - && consumerId != null - && consumerId.isNotEmpty() -> sharedPrefs.putString(context, SharedPrefConstants.CONSUMER_ID, - KeyStoreUtil(context).encryptData(result?.transaction?.consumerId)) } } catch (e: Exception) { GenesisError(ErrorCodes.SYSTEM_ERROR.code, e.message?: ErrorCodes.getErrorDescription(ErrorCodes.SYSTEM_ERROR.code?: 1)) diff --git a/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/request/PaymentRequest.kt b/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/request/PaymentRequest.kt index 118139f..4d600be 100644 --- a/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/request/PaymentRequest.kt +++ b/GenesisAndroid/src/main/java/com/emerchantpay/gateway/genesisandroid/api/internal/request/PaymentRequest.kt @@ -287,15 +287,6 @@ open class PaymentRequest : Request, PaymentAttributes, CustomerInfoAttributes, fun setConsumerId(consumerId: String): PaymentRequest { this.consumerId = consumerId - try { - context?.let { - sharedPreferences.putString(it, SharedPrefConstants.CONSUMER_ID, - KeyStoreUtil(context!!).encryptData(consumerId)) - } - } catch (e: Exception) { - - } - return this } @@ -455,8 +446,9 @@ open class PaymentRequest : Request, PaymentAttributes, CustomerInfoAttributes, paymentRequestBuilder?.addElement("recurring_category", it) } } - - consumerId = getConsumerId() + + if (!isRecurringEnabled(transactionTypesList)) + addConsumerId() when { transactionTypes.transactionTypesList.contains(WPFTransactionTypes.KLARNA_AUTHORIZE.value) -> orderTaxAmount?.let { @@ -517,24 +509,9 @@ open class PaymentRequest : Request, PaymentAttributes, CustomerInfoAttributes, return rememberCard!! } - fun getConsumerId(): String? { - try { - when { - consumerId != null && consumerId!!.isNotEmpty() -> - paymentRequestBuilder!!.addElement(SharedPrefConstants.CONSUMER_ID, consumerId!!) - else -> { - consumerId = context?.let { - KeyStoreUtil(it) - .decryptData(sharedPreferences.getString(context!!, SharedPrefConstants.CONSUMER_ID)) - }.toString() - consumerId?.let { paymentRequestBuilder!!.addElement(SharedPrefConstants.CONSUMER_ID, it) } - } - } - } catch (e: Exception) { - consumerId = "0" - } - - return consumerId + private fun addConsumerId() { + if (consumerId?.isNullOrBlank() == false) + paymentRequestBuilder!!.addElement(SharedPrefConstants.CONSUMER_ID, consumerId!!) } fun getKlarnaItemsRequest(paymentRequest: PaymentRequest): KlarnaItemsRequest? { @@ -546,11 +523,7 @@ open class PaymentRequest : Request, PaymentAttributes, CustomerInfoAttributes, } private fun isRecurringEnabled(transactionTypesList: List): Boolean { - return (transactionTypesList.contains(WPFTransactionTypes.AUTHORIZE.value) - || transactionTypesList.contains(WPFTransactionTypes.AUTHORIZE3D.value) - || transactionTypesList.contains(WPFTransactionTypes.SALE.value) - || transactionTypesList.contains(WPFTransactionTypes.SALE3D.value) - || transactionTypesList.contains(WPFTransactionTypes.INIT_RECURRING_SALE.value) + return (transactionTypesList.contains(WPFTransactionTypes.INIT_RECURRING_SALE.value) || transactionTypesList.contains(WPFTransactionTypes.INIT_RECURRING_SALE3D.value)) } diff --git a/README.md b/README.md index f8bd894..cb456b5 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ cd GenesisAndroid * Add the dependency in your build.gradle: ``` dependencies { - implementation 'com.emerchantpay.gateway:genesis-android:1.3.91' + implementation 'com.emerchantpay.gateway:genesis-android:1.3.92' } ```