NTP-70793 | Priority API onboarding for UPI module & updated contract for merchantInfo (#16561)

This commit is contained in:
Ujjwal Kumar
2025-06-12 17:07:19 +05:30
committed by GitHub
parent d8e8027036
commit 5eccff6ebe
6 changed files with 49 additions and 20 deletions

View File

@@ -22,6 +22,7 @@ import com.navi.pay.tstore.merchant.repository.MerchantInfoRepository
import com.navi.pay.utils.NAVI_PAY_DATA_REFRESH_DEFAULT_MIN_TIMESTAMP import com.navi.pay.utils.NAVI_PAY_DATA_REFRESH_DEFAULT_MIN_TIMESTAMP
import com.navi.pay.utils.NAVI_PAY_MERCHANT_INFO_SYNC_PAGINATION_TOKEN_KEY import com.navi.pay.utils.NAVI_PAY_MERCHANT_INFO_SYNC_PAGINATION_TOKEN_KEY
import com.navi.pay.utils.NAVI_PAY_SYNC_TABLE_MERCHANT_INFO_KEY import com.navi.pay.utils.NAVI_PAY_SYNC_TABLE_MERCHANT_INFO_KEY
import java.util.Locale
import javax.inject.Inject import javax.inject.Inject
class MerchantInfoSyncUseCase class MerchantInfoSyncUseCase
@@ -88,8 +89,7 @@ constructor(
val merchantInfoEntities = val merchantInfoEntities =
merchantInfoList.map { item -> merchantInfoList.map { item ->
MerchantInfoEntity( MerchantInfoEntity(
id = item.id, name = item.name.trim().lowercase(Locale.US),
name = item.name,
iconUrl = item.iconUrl, iconUrl = item.iconUrl,
isDeleted = item.isDeleted, isDeleted = item.isDeleted,
updatedAt = item.updatedAt, updatedAt = item.updatedAt,

View File

@@ -605,8 +605,7 @@ val NAVI_PAY_APP_DATABASE_MIGRATION_20_21 =
db.execSQL( db.execSQL(
""" """
CREATE TABLE IF NOT EXISTS $NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME ( CREATE TABLE IF NOT EXISTS $NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME (
id TEXT NOT NULL PRIMARY KEY, name TEXT NOT NULL PRIMARY KEY,
name TEXT NOT NULL,
iconUrl TEXT NOT NULL, iconUrl TEXT NOT NULL,
isDeleted INTEGER NOT NULL DEFAULT 0, isDeleted INTEGER NOT NULL DEFAULT 0,
updatedAt TEXT NOT NULL DEFAULT '' updatedAt TEXT NOT NULL DEFAULT ''
@@ -614,14 +613,5 @@ val NAVI_PAY_APP_DATABASE_MIGRATION_20_21 =
""" """
.trimIndent() .trimIndent()
) )
// Create index on name column for faster lookups
db.execSQL(
"""
CREATE INDEX IF NOT EXISTS index_merchantInfo_name
ON $NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME (name)
"""
.trimIndent()
)
} }
} }

View File

@@ -16,6 +16,7 @@ import com.navi.common.model.ModuleName
import com.navi.common.model.ModuleNameV2 import com.navi.common.model.ModuleNameV2
import com.navi.common.model.NetworkInfo import com.navi.common.model.NetworkInfo
import com.navi.common.network.converter.EmptyBodyHandlingConverterFactory import com.navi.common.network.converter.EmptyBodyHandlingConverterFactory
import com.navi.common.network.requestmanager.PriorityRequestManagerFacade
import com.navi.pay.common.batman.DarkKnightScheduler import com.navi.pay.common.batman.DarkKnightScheduler
import com.navi.pay.common.batman.DarkKnightSchedulerImpl import com.navi.pay.common.batman.DarkKnightSchedulerImpl
import com.navi.pay.common.connectivity.NaviPayNetworkConnectivity import com.navi.pay.common.connectivity.NaviPayNetworkConnectivity
@@ -133,9 +134,16 @@ object NaviPayNetworkModule {
fun providesRetrofitClient( fun providesRetrofitClient(
naviPayHttpClient: NaviPayHttpClient, naviPayHttpClient: NaviPayHttpClient,
@NaviPayGsonBuilder deserializer: Gson, @NaviPayGsonBuilder deserializer: Gson,
priorityRequestManagerFacade: PriorityRequestManagerFacade,
): Retrofit = ): Retrofit =
Retrofit.Builder() Retrofit.Builder()
.baseUrl(naviPayHttpClient.networkInfo.baseUrl) .baseUrl(naviPayHttpClient.networkInfo.baseUrl)
.callFactory(
priorityRequestManagerFacade.getPriorityHandlerFactory(
naviPayHttpClient.httpClientBuilder,
naviPayHttpClient.networkInfo.baseUrl,
)
)
.client(naviPayHttpClient.httpClientBuilder.build()) .client(naviPayHttpClient.httpClientBuilder.build())
.addConverterFactory(EmptyBodyHandlingConverterFactory(ModuleNameV2.NAVIPAY.name)) .addConverterFactory(EmptyBodyHandlingConverterFactory(ModuleNameV2.NAVIPAY.name))
.addConverterFactory(GsonConverterFactory.create(deserializer)) .addConverterFactory(GsonConverterFactory.create(deserializer))

View File

@@ -10,6 +10,7 @@ package com.navi.pay.network.retrofit
import com.navi.common.model.ModuleNameV2 import com.navi.common.model.ModuleNameV2
import com.navi.common.model.common.InvoiceDownloadData import com.navi.common.model.common.InvoiceDownloadData
import com.navi.common.network.models.GenericResponse import com.navi.common.network.models.GenericResponse
import com.navi.common.network.requestmanager.request.Priority
import com.navi.common.network.retry.annotations.RetryPolicy import com.navi.common.network.retry.annotations.RetryPolicy
import com.navi.pay.common.model.network.ActivateVpaRequest import com.navi.pay.common.model.network.ActivateVpaRequest
import com.navi.pay.common.model.network.DeactivateVpaRequest import com.navi.pay.common.model.network.DeactivateVpaRequest
@@ -129,6 +130,7 @@ interface NaviPayRetrofitService {
private const val NAVI_PAY_API_VERSION4 = "v4" private const val NAVI_PAY_API_VERSION4 = "v4"
} }
@Priority(Priority.Order.HIGH)
@RetryPolicy @RetryPolicy
@POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/customer/fetch") @POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/customer/fetch")
suspend fun getCustomer( suspend fun getCustomer(
@@ -138,32 +140,38 @@ interface NaviPayRetrofitService {
@GET("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/list-banks") @GET("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/list-banks")
suspend fun getAllBanks(): Response<GenericResponse<BankListResponse>> suspend fun getAllBanks(): Response<GenericResponse<BankListResponse>>
@Priority(Priority.Order.HIGH)
@RetryPolicy @RetryPolicy
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/banks/fetch-accounts") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/banks/fetch-accounts")
suspend fun getBankAccounts( suspend fun getBankAccounts(
@Body fetchAccountsRequest: FetchAccountsRequest @Body fetchAccountsRequest: FetchAccountsRequest
): Response<GenericResponse<FetchAccountsResponse>> ): Response<GenericResponse<FetchAccountsResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/banks/add-account") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/banks/add-account")
suspend fun addBankAccount( suspend fun addBankAccount(
@Body addAccountRequest: AddAccountRequest @Body addAccountRequest: AddAccountRequest
): Response<GenericResponse<Any?>> ): Response<GenericResponse<Any?>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/customer/bind") @POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/customer/bind")
suspend fun bindDevice( suspend fun bindDevice(
@Body bindDeviceRequest: BindDeviceRequest @Body bindDeviceRequest: BindDeviceRequest
): Response<GenericResponse<BindDeviceResponse>> ): Response<GenericResponse<BindDeviceResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/bind-device/status") @POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/bind-device/status")
suspend fun bindDeviceStatus( suspend fun bindDeviceStatus(
@Body bindDeviceStatusRequest: BindDeviceStatusRequest @Body bindDeviceStatusRequest: BindDeviceStatusRequest
): Response<GenericResponse<BindDeviceStatusResponse>> ): Response<GenericResponse<BindDeviceStatusResponse>>
@Priority(Priority.Order.LOW)
@POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/bind-device/decline") @POST("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/bind-device/decline")
suspend fun declineDeviceBinding( suspend fun declineDeviceBinding(
@Body declineDeviceRequest: DeclineDeviceRequest @Body declineDeviceRequest: DeclineDeviceRequest
): Response<GenericResponse<DeclineDeviceResponse>> ): Response<GenericResponse<DeclineDeviceResponse>>
@Priority(Priority.Order.HIGH)
@GET("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/account/linked-accounts") @GET("/gateway-service/$NAVI_PAY_API_VERSION3/navipay/account/linked-accounts")
suspend fun fetchLinkedAccounts(): Response<GenericResponse<LinkedAccountsResponse>> suspend fun fetchLinkedAccounts(): Response<GenericResponse<LinkedAccountsResponse>>
@@ -182,40 +190,49 @@ interface NaviPayRetrofitService {
@Body deleteAccountRequest: DeleteAccountRequest @Body deleteAccountRequest: DeleteAccountRequest
): Response<GenericResponse<Any?>> ): Response<GenericResponse<Any?>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/otp") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/otp")
suspend fun getOtp(@Body otpRequest: OtpRequest): Response<GenericResponse<OtpResponse>> suspend fun getOtp(@Body otpRequest: OtpRequest): Response<GenericResponse<OtpResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/pin/reset") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/pin/reset")
suspend fun setResetPin(@Body pinResetRequest: PinResetRequest): Response<GenericResponse<Any?>> suspend fun setResetPin(@Body pinResetRequest: PinResetRequest): Response<GenericResponse<Any?>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/banks/aadhaar-consent") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/banks/aadhaar-consent")
suspend fun checkAadhaarSupport( suspend fun checkAadhaarSupport(
@Body aadhaarConsentRequest: AadhaarConsentRequest @Body aadhaarConsentRequest: AadhaarConsentRequest
): Response<GenericResponse<AadhaarConsentResponse>> ): Response<GenericResponse<AadhaarConsentResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/pin/change") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/pin/change")
suspend fun changePin(@Body pinChangeRequest: PinChangeRequest): Response<GenericResponse<Any?>> suspend fun changePin(@Body pinChangeRequest: PinChangeRequest): Response<GenericResponse<Any?>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/npci/token") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/npci/token")
suspend fun fetchNpciToken( suspend fun fetchNpciToken(
@Body npciTokenRequest: NpciTokenRequest @Body npciTokenRequest: NpciTokenRequest
): Response<GenericResponse<NpciTokenResponse>> ): Response<GenericResponse<NpciTokenResponse>>
@Priority(Priority.Order.HIGH)
@RetryPolicy @RetryPolicy
@GET("/gateway-service/$NAVI_PAY_API_VERSION/navipay/npci/key") @GET("/gateway-service/$NAVI_PAY_API_VERSION/navipay/npci/key")
suspend fun fetchNpciKeys(): Response<GenericResponse<NpciKeysResponse>> suspend fun fetchNpciKeys(): Response<GenericResponse<NpciKeysResponse>>
@Priority(Priority.Order.HIGH)
@RetryPolicy @RetryPolicy
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/balance") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/account/balance")
suspend fun checkBalance( suspend fun checkBalance(
@Body checkBalanceRequest: CheckBalanceRequest @Body checkBalanceRequest: CheckBalanceRequest
): Response<GenericResponse<CheckBalanceResponse>> ): Response<GenericResponse<CheckBalanceResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION4/txn/sendMoney") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION4/txn/sendMoney")
suspend fun sendMoney( suspend fun sendMoney(
@Body sendMoneyRequest: SendMoneyRequest @Body sendMoneyRequest: SendMoneyRequest
): Response<GenericResponse<TransactionResponse>> ): Response<GenericResponse<TransactionResponse>>
@Priority(Priority.Order.HIGH)
@POST("/valhalla/navipay/$NAVI_PAY_API_VERSION/transactions") @POST("/valhalla/navipay/$NAVI_PAY_API_VERSION/transactions")
suspend fun coreSendMoney( suspend fun coreSendMoney(
@Header("X-Upi-Request-Id") upiRequestId: String, @Header("X-Upi-Request-Id") upiRequestId: String,
@@ -228,6 +245,7 @@ interface NaviPayRetrofitService {
@Body mandateListRequest: MandateListRequest @Body mandateListRequest: MandateListRequest
): Response<GenericResponse<MandateListResponse>> ): Response<GenericResponse<MandateListResponse>>
@Priority(Priority.Order.HIGH)
@RetryPolicy @RetryPolicy
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/validate") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/validate")
suspend fun validateVpa( suspend fun validateVpa(
@@ -237,41 +255,49 @@ interface NaviPayRetrofitService {
@GET("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/txn/listPending") @GET("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/txn/listPending")
suspend fun fetchPendingCollectRequests(): Response<GenericResponse<CollectRequestsResponse>> suspend fun fetchPendingCollectRequests(): Response<GenericResponse<CollectRequestsResponse>>
@Priority(Priority.Order.LOW)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/blockAndSpam") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/blockAndSpam")
suspend fun blockSpamUser( suspend fun blockSpamUser(
@Body blockSpamUserRequest: BlockSpamUserRequest @Body blockSpamUserRequest: BlockSpamUserRequest
): Response<GenericResponse<Any?>> ): Response<GenericResponse<Any?>>
@Priority(Priority.Order.LOW)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/block/list") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/block/list")
suspend fun fetchBlockedUsers( suspend fun fetchBlockedUsers(
@Body blockedUsersListRequest: BlockedUsersListRequest @Body blockedUsersListRequest: BlockedUsersListRequest
): Response<GenericResponse<BlockedUsersListResponse>> ): Response<GenericResponse<BlockedUsersListResponse>>
@Priority(Priority.Order.LOW)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/unblock") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/unblock")
suspend fun unblockUser( suspend fun unblockUser(
@Body unblockActionRequest: UnblockActionRequest @Body unblockActionRequest: UnblockActionRequest
): Response<GenericResponse<Any?>> ): Response<GenericResponse<Any?>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION4/txn/approve-decline") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION4/txn/approve-decline")
suspend fun processCollectRequest( suspend fun processCollectRequest(
@Body collectRequestActionRequest: CollectRequestActionRequest @Body collectRequestActionRequest: CollectRequestActionRequest
): Response<GenericResponse<TransactionResponse>> ): Response<GenericResponse<TransactionResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/create") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/create")
suspend fun createMandate( suspend fun createMandate(
@Body createMandateRequest: CreateMandateRequest @Body createMandateRequest: CreateMandateRequest
): Response<GenericResponse<CreateMandateResponse>> ): Response<GenericResponse<CreateMandateResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/review") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/review")
suspend fun reviewMandate( suspend fun reviewMandate(
@Body reviewMandateRequest: ReviewMandateRequest @Body reviewMandateRequest: ReviewMandateRequest
): Response<GenericResponse<ReviewMandateResponse>> ): Response<GenericResponse<ReviewMandateResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/pause") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/pause")
suspend fun pauseUnpauseMandate( suspend fun pauseUnpauseMandate(
@Body pauseUnpauseRequest: PauseUnpauseRequest @Body pauseUnpauseRequest: PauseUnpauseRequest
): Response<GenericResponse<PauseUnpauseResponse>> ): Response<GenericResponse<PauseUnpauseResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/revoke") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/mandates/revoke")
suspend fun revokeMandate( suspend fun revokeMandate(
@Body revokeMandateRequest: RevokeMandateRequest @Body revokeMandateRequest: RevokeMandateRequest
@@ -282,11 +308,13 @@ interface NaviPayRetrofitService {
@Body mandateStatusRequest: MandateStatusRequest @Body mandateStatusRequest: MandateStatusRequest
): Response<GenericResponse<MandateStatusResponse>> ): Response<GenericResponse<MandateStatusResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION/navipay/mandates/execute") @POST("/gateway-service/$NAVI_PAY_API_VERSION/navipay/mandates/execute")
suspend fun executeMandate( suspend fun executeMandate(
@Body executeMandateRequest: ExecuteMandateRequest @Body executeMandateRequest: ExecuteMandateRequest
): Response<GenericResponse<TransactionResponse>> ): Response<GenericResponse<TransactionResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION/navipay/mandates/update-lite") @POST("/gateway-service/$NAVI_PAY_API_VERSION/navipay/mandates/update-lite")
suspend fun updateMandate( suspend fun updateMandate(
@Body updateMandateRequest: UpdateMandateRequest @Body updateMandateRequest: UpdateMandateRequest
@@ -325,25 +353,30 @@ interface NaviPayRetrofitService {
@Body mandateDetailRequest: MandateDetailRequest @Body mandateDetailRequest: MandateDetailRequest
): Response<GenericResponse<MandateItem>> ): Response<GenericResponse<MandateItem>>
@Priority(Priority.Order.HIGH)
@GET("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/fetch/requestId/list") @GET("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/fetch/requestId/list")
suspend fun getRequestIdSuffixList(): Response<GenericResponse<RequestIdResponse>> suspend fun getRequestIdSuffixList(): Response<GenericResponse<RequestIdResponse>>
@Priority(Priority.Order.HIGH)
@RetryPolicy @RetryPolicy
@POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/phone-number/vpa") @POST("/gateway-service/navipay/$NAVI_PAY_API_VERSION2/vpa/phone-number/vpa")
suspend fun payToContact( suspend fun payToContact(
@Body payToContactRequest: PayToContactRequest @Body payToContactRequest: PayToContactRequest
): Response<GenericResponse<ValidateVpaResponse>> ): Response<GenericResponse<ValidateVpaResponse>>
@Priority(Priority.Order.LOW)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/comms/send") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/comms/send")
suspend fun sendNpsComms( suspend fun sendNpsComms(
@Body npsCommsRequest: NpsCommsRequest @Body npsCommsRequest: NpsCommsRequest
): Response<GenericResponse<Any?>> ): Response<GenericResponse<Any?>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/upi-lite/lite-registration") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/upi-lite/lite-registration")
suspend fun liteRegistration( suspend fun liteRegistration(
@Body liteRegistrationRequest: LiteRegistrationRequest @Body liteRegistrationRequest: LiteRegistrationRequest
): Response<GenericResponse<LiteRegistrationResponse>> ): Response<GenericResponse<LiteRegistrationResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/upi-lite/lite-sync") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/upi-lite/lite-sync")
suspend fun liteSync( suspend fun liteSync(
@Body liteSyncRequest: LiteSyncRequest @Body liteSyncRequest: LiteSyncRequest
@@ -386,6 +419,7 @@ interface NaviPayRetrofitService {
@Body createConversationRequest: CreateConversationRequest, @Body createConversationRequest: CreateConversationRequest,
): Response<GenericResponse<CreateConversationResponse>> ): Response<GenericResponse<CreateConversationResponse>>
@Priority(Priority.Order.HIGH)
@POST("/gateway-service/$NAVI_PAY_API_VERSION/upi-management/vpa/activate") @POST("/gateway-service/$NAVI_PAY_API_VERSION/upi-management/vpa/activate")
suspend fun activateVpa( suspend fun activateVpa(
@Body activateVpaRequest: ActivateVpaRequest @Body activateVpaRequest: ActivateVpaRequest
@@ -446,6 +480,7 @@ interface NaviPayRetrofitService {
@Body forecloseEmiRequest: ForecloseEmiRequest @Body forecloseEmiRequest: ForecloseEmiRequest
): Response<GenericResponse<ForecloseEmiResponse>> ): Response<GenericResponse<ForecloseEmiResponse>>
@Priority(Priority.Order.LOW)
@POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/customer/deregister") @POST("/gateway-service/$NAVI_PAY_API_VERSION2/navipay/customer/deregister")
suspend fun deregisterNaviPay( suspend fun deregisterNaviPay(
@Body deregisterNaviPayRequest: DeregisterNaviPayRequest @Body deregisterNaviPayRequest: DeregisterNaviPayRequest

View File

@@ -16,7 +16,6 @@ data class MerchantInfoResponse(
) )
data class MerchantInfoItem( data class MerchantInfoItem(
@SerializedName("id") val id: String,
@SerializedName("name") val name: String, @SerializedName("name") val name: String,
@SerializedName("iconUrl") val iconUrl: String, @SerializedName("iconUrl") val iconUrl: String,
@SerializedName("isDeleted") val isDeleted: Boolean, @SerializedName("isDeleted") val isDeleted: Boolean,

View File

@@ -9,7 +9,6 @@ package com.navi.pay.tstore.merchant.model.view
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
import com.navi.pay.utils.NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME import com.navi.pay.utils.NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME
@@ -19,16 +18,14 @@ import com.navi.pay.utils.NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME
* history, the merchant name is looked up in this table to fetch the appropriate icon URL for * history, the merchant name is looked up in this table to fetch the appropriate icon URL for
* display in the transaction list. * display in the transaction list.
* *
* @property id Unique identifier for the merchant, serves as primary key * @property name Merchant name, primary key
* @property name Merchant name, indexed for lookups
* @property iconUrl URL of the merchant's logo/icon to be displayed in transaction history * @property iconUrl URL of the merchant's logo/icon to be displayed in transaction history
* @property isDeleted Whether this merchant is marked as deleted * @property isDeleted Whether this merchant is marked as deleted
* @property updatedAt Last update timestamp for this merchant * @property updatedAt Last update timestamp for this merchant
*/ */
@Entity(tableName = NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME, indices = [Index(value = ["name"])]) @Entity(tableName = NAVI_PAY_DATABASE_MERCHANT_INFO_TABLE_NAME)
data class MerchantInfoEntity( data class MerchantInfoEntity(
@PrimaryKey @ColumnInfo("id") val id: String, @PrimaryKey @ColumnInfo("name") val name: String,
@ColumnInfo("name") val name: String,
@ColumnInfo("iconUrl") val iconUrl: String, @ColumnInfo("iconUrl") val iconUrl: String,
@ColumnInfo("isDeleted") val isDeleted: Boolean, @ColumnInfo("isDeleted") val isDeleted: Boolean,
@ColumnInfo("updatedAt") val updatedAt: String, @ColumnInfo("updatedAt") val updatedAt: String,