@yuno-payments/yuno-sdk-react-native 1.0.17-rc.6 → 1.0.17-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -26,6 +26,7 @@ import kotlinx.coroutines.CoroutineScope
|
|
|
26
26
|
import kotlinx.coroutines.Dispatchers
|
|
27
27
|
import kotlinx.coroutines.flow.launchIn
|
|
28
28
|
import kotlinx.coroutines.flow.onEach
|
|
29
|
+
import kotlinx.coroutines.flow.catch
|
|
29
30
|
import androidx.lifecycle.asFlow
|
|
30
31
|
|
|
31
32
|
/**
|
|
@@ -853,6 +854,12 @@ class YunoSdkModule(private val reactContext: ReactApplicationContext) :
|
|
|
853
854
|
try {
|
|
854
855
|
Log.d(TAG, "generateToken called with checkoutSession: $checkoutSession")
|
|
855
856
|
|
|
857
|
+
val activity = currentActivity
|
|
858
|
+
if (activity == null) {
|
|
859
|
+
promise.reject("ACTIVITY_UNAVAILABLE", "Current activity is null. Cannot generate token.")
|
|
860
|
+
return
|
|
861
|
+
}
|
|
862
|
+
|
|
856
863
|
// Convert ReadableMap to TokenCollectedData using Gson
|
|
857
864
|
val gson = Gson()
|
|
858
865
|
val jsonString = convertReadableMapToJson(tokenCollectedData)
|
|
@@ -864,11 +871,11 @@ class YunoSdkModule(private val reactContext: ReactApplicationContext) :
|
|
|
864
871
|
val apiClient = Yuno.apiClientPayment(
|
|
865
872
|
checkoutSession = checkoutSession,
|
|
866
873
|
countryCode = countryCode,
|
|
867
|
-
context =
|
|
874
|
+
context = activity.applicationContext
|
|
868
875
|
)
|
|
869
876
|
|
|
870
|
-
// Generate token
|
|
871
|
-
apiClient.generateToken(collectedData,
|
|
877
|
+
// Generate token - pass activity for WebView context
|
|
878
|
+
apiClient.generateToken(collectedData, activity)
|
|
872
879
|
.asFlow()
|
|
873
880
|
.onEach { result ->
|
|
874
881
|
try {
|
|
@@ -897,6 +904,10 @@ class YunoSdkModule(private val reactContext: ReactApplicationContext) :
|
|
|
897
904
|
promise.reject("TOKEN_GENERATION_ERROR", e.message)
|
|
898
905
|
}
|
|
899
906
|
}
|
|
907
|
+
.catch { e ->
|
|
908
|
+
Log.e(TAG, "❌ Flow error in token generation: ${e.message}")
|
|
909
|
+
promise.reject("TOKEN_GENERATION_ERROR", e.message ?: "Unknown error in token generation flow")
|
|
910
|
+
}
|
|
900
911
|
.launchIn(CoroutineScope(Dispatchers.Main))
|
|
901
912
|
} catch (e: Exception) {
|
|
902
913
|
Log.e(TAG, "❌ Error in generateToken: ${e.message}")
|
|
@@ -921,15 +932,21 @@ class YunoSdkModule(private val reactContext: ReactApplicationContext) :
|
|
|
921
932
|
try {
|
|
922
933
|
Log.d(TAG, "getThreeDSecureChallenge called with checkoutSession: $checkoutSession")
|
|
923
934
|
|
|
935
|
+
val activity = currentActivity
|
|
936
|
+
if (activity == null) {
|
|
937
|
+
promise.reject("ACTIVITY_UNAVAILABLE", "Current activity is null. Cannot get 3DS challenge.")
|
|
938
|
+
return
|
|
939
|
+
}
|
|
940
|
+
|
|
924
941
|
// Create API client
|
|
925
942
|
val apiClient = Yuno.apiClientPayment(
|
|
926
943
|
checkoutSession = checkoutSession,
|
|
927
944
|
countryCode = countryCode,
|
|
928
|
-
context =
|
|
945
|
+
context = activity.applicationContext
|
|
929
946
|
)
|
|
930
947
|
|
|
931
|
-
// Get 3DS challenge
|
|
932
|
-
apiClient.getThreeDSecureChallenge(
|
|
948
|
+
// Get 3DS challenge - pass activity for WebView context
|
|
949
|
+
apiClient.getThreeDSecureChallenge(activity, checkoutSession)
|
|
933
950
|
.asFlow()
|
|
934
951
|
.onEach { result ->
|
|
935
952
|
try {
|
|
@@ -950,6 +967,10 @@ class YunoSdkModule(private val reactContext: ReactApplicationContext) :
|
|
|
950
967
|
promise.reject("THREE_DS_ERROR", e.message)
|
|
951
968
|
}
|
|
952
969
|
}
|
|
970
|
+
.catch { e ->
|
|
971
|
+
Log.e(TAG, "❌ Flow error in 3DS challenge: ${e.message}")
|
|
972
|
+
promise.reject("THREE_DS_ERROR", e.message ?: "Unknown error in 3DS challenge flow")
|
|
973
|
+
}
|
|
953
974
|
.launchIn(CoroutineScope(Dispatchers.Main))
|
|
954
975
|
} catch (e: Exception) {
|
|
955
976
|
Log.e(TAG, "❌ Error in getThreeDSecureChallenge: ${e.message}")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuno-payments/yuno-sdk-react-native",
|
|
3
|
-
"version": "1.0.17-rc.
|
|
3
|
+
"version": "1.0.17-rc.8",
|
|
4
4
|
"description": "Yuno React Native SDK empowers you to create seamless payment experiences in your native Android and iOS apps built with React Native.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|