From 03c1191f8b590d36d581dd6d77fd9acf1ad815be Mon Sep 17 00:00:00 2001 From: Prakhar Saxena Date: Fri, 23 May 2025 18:14:23 +0530 Subject: [PATCH] NTP-66598 | PS | updated razorpay theme (#16288) --- .../model/razorpay/RazorpayPaymentData.kt | 8 ++--- .../navi/payment/razorpay/RazorpayHelper.kt | 29 +++++++++++-------- .../java/com/navi/payment/utils/Constants.kt | 2 ++ 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/android/navi-payment/src/main/java/com/navi/payment/model/razorpay/RazorpayPaymentData.kt b/android/navi-payment/src/main/java/com/navi/payment/model/razorpay/RazorpayPaymentData.kt index d588b29849..55e1c9c4ff 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/model/razorpay/RazorpayPaymentData.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/model/razorpay/RazorpayPaymentData.kt @@ -8,6 +8,7 @@ package com.navi.payment.model.razorpay import com.google.gson.annotations.SerializedName +import com.navi.payment.utils.Constants.NAVI_LOGO_IMAGE data class RazorpayPaymentData( @SerializedName("name") var name: String? = null, @@ -22,11 +23,10 @@ data class RazorpayPaymentData( @SerializedName("sdkConfigKey") val key: String? = null, @SerializedName("transactionId") var transactionId: String? = null, @SerializedName("prefill") var prefill: Prefill? = null, - @SerializedName("theme") var theme: Theme? = Theme(color = "#FF5732"), + @SerializedName("theme") var theme: Theme? = Theme(), @SerializedName("hidden") var hidden: Prefill? = Prefill(email = "1", contact = "1"), @SerializedName("method") var method: Map? = null, - @SerializedName("image") - var image: String? = "https://amcdev.s3.ap-south-1.amazonaws.com/new_logo.png", + @SerializedName("image") var image: String = NAVI_LOGO_IMAGE, ) data class Prefill( @@ -36,4 +36,4 @@ data class Prefill( data class Notes(@SerializedName("paymentReferenceId") val paymentReferenceId: String? = null) -data class Theme(@SerializedName("color") val color: String? = null) +data class Theme(@SerializedName("color") val color: String = "#3C0050") diff --git a/android/navi-payment/src/main/java/com/navi/payment/razorpay/RazorpayHelper.kt b/android/navi-payment/src/main/java/com/navi/payment/razorpay/RazorpayHelper.kt index d94f7df8c1..e516e9dc39 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/razorpay/RazorpayHelper.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/razorpay/RazorpayHelper.kt @@ -13,6 +13,7 @@ import com.navi.base.utils.convertObjectToJson import com.navi.common.utils.log import com.navi.payment.nativepayment.NaviPaymentAnalytics import com.razorpay.Checkout +import org.json.JSONObject class RazorpayHelper() { @@ -38,22 +39,26 @@ class RazorpayHelper() { } private fun submit(data: T, activity: Activity, key: String) { + val activityName = activity::class.simpleName.orEmpty() try { - naviPaymentAnalytics.onRazorpayPaymentStarted( - activityName = activity::class.simpleName.orEmpty() - ) - val jsonData = convertObjectToJson(data) - jsonData?.let { - val checkOut = Checkout() - checkOut.setKeyID(key) - checkOut.open(activity, jsonData) + naviPaymentAnalytics.onRazorpayPaymentStarted(activityName = activityName) + val paymentData = convertObjectToJson(data) + if (paymentData == null) { + naviPaymentAnalytics.onRazorpayError( + activityName = activityName, + exception = Exception("Invalid Razorpay config"), + ) + return } + val themeConfig = JSONObject().put("color", "#3C0050") + paymentData.put("theme", themeConfig) + + val checkOut = Checkout() + checkOut.setKeyID(key) + checkOut.open(activity, paymentData) } catch (e: Exception) { e.log() - naviPaymentAnalytics.onRazorpayError( - activityName = activity::class.simpleName.orEmpty(), - exception = e, - ) + naviPaymentAnalytics.onRazorpayError(activityName = activityName, exception = e) } } diff --git a/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt b/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt index f08eabe419..4536baf8f8 100644 --- a/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt +++ b/android/navi-payment/src/main/java/com/navi/payment/utils/Constants.kt @@ -138,6 +138,8 @@ object Constants { const val COIN_DISCOUNT_APPLY_CONFETTI = "discount-apply-confetti.lottie" // Icons + const val NAVI_LOGO_IMAGE = + "https://public-assets.prod.navi-sa.in/navi-payments/upi-apps/navi.png" const val NO_BANK_FOUND_IMAGE = "https://public-assets.prod.navi-sa.in/navi-payments/banks/no_banks_found.png" const val NPS_DEFAULT_UPI_APPS_CARD_WIDGET =