NTP-35135 | Anmol Agrawal | Added events for better logging (#14851)
This commit is contained in:
@@ -61,6 +61,8 @@ object JusPayUtil {
|
||||
const val FLAVOR_PROD = "prod"
|
||||
const val LOG_LEVEL = 1
|
||||
|
||||
private val juspayAnalytics = NaviPaymentAnalytics.INSTANCE.JuspayAnalytics()
|
||||
|
||||
fun getProcessSDKPayload(payload: JSONObject?, requestId: String): JSONObject {
|
||||
val sdkPayload = JSONObject()
|
||||
sdkPayload.put(ARG_REQUEST_ID, requestId)
|
||||
@@ -77,8 +79,10 @@ object JusPayUtil {
|
||||
|
||||
if (HyperServicesHolder.isSDKInitialized().not()) {
|
||||
getJuspayInitPayload()?.let { payload ->
|
||||
NaviPaymentAnalytics.INSTANCE.JuspayAnalytics()
|
||||
.onJuspayInitStarted(payload.toString(), activity::class.java.simpleName)
|
||||
juspayAnalytics.onJuspayInitStarted(
|
||||
payload.toString(),
|
||||
activity::class.java.simpleName,
|
||||
)
|
||||
HyperServicesHolder.initiateSDK(
|
||||
activity = activity,
|
||||
initiatePayload = payload,
|
||||
@@ -92,8 +96,7 @@ object JusPayUtil {
|
||||
data: JSONObject?,
|
||||
hander: JuspayResponseHandler?,
|
||||
) {
|
||||
NaviPaymentAnalytics.INSTANCE.JuspayAnalytics()
|
||||
.onJuspayInitResponse(response = data.toString())
|
||||
juspayAnalytics.onJuspayInitResponse(response = data.toString())
|
||||
paymentsCallback?.onEvent(data, hander)
|
||||
}
|
||||
|
||||
@@ -123,8 +126,9 @@ object JusPayUtil {
|
||||
payload: JSONObject,
|
||||
juspayCallbackWrapper: JuspayCallbackWrapper? = null,
|
||||
) {
|
||||
NaviPaymentAnalytics.INSTANCE.JuspayAnalytics()
|
||||
.onJuspayProcessSdkCalled(sourceActivityName = activity::class.java.simpleName)
|
||||
juspayAnalytics.onJuspayProcessSdkCalled(
|
||||
sourceActivityName = activity::class.java.simpleName
|
||||
)
|
||||
HyperServicesHolder.processSDK(
|
||||
activity = activity,
|
||||
processPayload = payload,
|
||||
@@ -135,8 +139,7 @@ object JusPayUtil {
|
||||
}
|
||||
|
||||
override fun onEvent(data: JSONObject?, hander: JuspayResponseHandler?) {
|
||||
NaviPaymentAnalytics.INSTANCE.JuspayAnalytics()
|
||||
.onJuspayProcessSdkResponse(data.toString())
|
||||
juspayAnalytics.onJuspayProcessSdkResponse(data)
|
||||
juspayCallbackWrapper?.onEvent(data, hander)
|
||||
}
|
||||
|
||||
@@ -149,8 +152,7 @@ object JusPayUtil {
|
||||
}
|
||||
},
|
||||
merchantLogger = { log, processPayload ->
|
||||
NaviPaymentAnalytics.INSTANCE.JuspayAnalytics()
|
||||
.onJuspaySdkLogs(log = log, processPayload.toString())
|
||||
juspayAnalytics.onJuspaySdkLogs(log = log, processPayload.toString())
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.navi.payment.nativepayment.presentation.reducer.ImageSource
|
||||
import com.navi.payment.nativepayment.viewmodel.ScanCardResult
|
||||
import com.navi.payment.paymentscreen.model.ErrorReason
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatusRequest
|
||||
import com.navi.payment.utils.putIfNotNullAndNotEmpty
|
||||
import com.navi.payment.utils.usecases.CardValidator
|
||||
import com.navi.payment.utils.usecases.ExpiryDateValidator
|
||||
import com.navi.payment.utils.usecases.ValidationResult
|
||||
@@ -592,17 +593,25 @@ class NaviPaymentAnalytics private constructor() {
|
||||
|
||||
fun onJuspayPaymentCallbackReceived(juspayJsonResponse: JSONObject) {
|
||||
val payload = juspayJsonResponse.optJSONObject("payload")
|
||||
val eventAttributes = buildMap {
|
||||
putIfNotNullAndNotEmpty(
|
||||
"errorMessage",
|
||||
juspayJsonResponse.optString("errorMessage", EMPTY),
|
||||
)
|
||||
putIfNotNullAndNotEmpty(
|
||||
"errorCode",
|
||||
juspayJsonResponse.optString("errorCode", EMPTY),
|
||||
)
|
||||
putIfNotNullAndNotEmpty("bankErrorCode", payload?.optString("bankErrorCode", EMPTY))
|
||||
putIfNotNullAndNotEmpty(
|
||||
"bankErrorMessage",
|
||||
(payload?.optString("bankErrorMessage", EMPTY)),
|
||||
)
|
||||
put("juspayResponse", juspayJsonResponse.toString())
|
||||
}
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "NaviPMT_CardScreen_JuspayPaymentCallbackReceived",
|
||||
eventValues =
|
||||
mapOf(
|
||||
"errorMessage" to juspayJsonResponse.optString("errorMessage", EMPTY),
|
||||
"errorCode" to juspayJsonResponse.optString("errorCode", EMPTY),
|
||||
"bankErrorCode" to (payload?.optString("bankErrorCode", EMPTY) ?: EMPTY),
|
||||
"bankErrorMessage" to
|
||||
(payload?.optString("bankErrorMessage", EMPTY) ?: EMPTY),
|
||||
"juspayResponse" to juspayJsonResponse.toString(),
|
||||
),
|
||||
eventValues = eventAttributes,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -774,10 +783,22 @@ class NaviPaymentAnalytics private constructor() {
|
||||
)
|
||||
}
|
||||
|
||||
fun onJuspayProcessSdkResponse(response: String) {
|
||||
fun onJuspayProcessSdkResponse(response: JSONObject?) {
|
||||
val payload = response?.optJSONObject("payload")
|
||||
val eventAttributes = buildMap {
|
||||
putIfNotNullAndNotEmpty("errorMessage", response?.optString("errorMessage", EMPTY))
|
||||
putIfNotNullAndNotEmpty("errorCode", response?.optString("errorCode", EMPTY))
|
||||
putIfNotNullAndNotEmpty("bankErrorCode", payload?.optString("bankErrorCode", EMPTY))
|
||||
putIfNotNullAndNotEmpty(
|
||||
"bankErrorMessage",
|
||||
payload?.optString("bankErrorMessage", EMPTY),
|
||||
)
|
||||
putIfNotNullAndNotEmpty("juspayOrderId", payload?.optString("orderId", EMPTY))
|
||||
put("response", response.toString())
|
||||
}
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "NaviPMT_Juspay_ProcessSdkResponse",
|
||||
eventValues = mapOf("response" to response),
|
||||
eventValues = eventAttributes,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -328,3 +328,7 @@ fun String.ifNotEmpty(block: (String) -> Unit) {
|
||||
block(this)
|
||||
}
|
||||
}
|
||||
|
||||
fun MutableMap<String, String>.putIfNotNullAndNotEmpty(key: String, value: String?) {
|
||||
value?.takeIf { it.isNotEmpty() }?.let { put(key, it) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user