diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/PayuSettingsController.kt b/src/main/kotlin/com/android/trisolarisserver/controller/PayuSettingsController.kt index e2e17e7..f566fe9 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/PayuSettingsController.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/PayuSettingsController.kt @@ -35,7 +35,17 @@ class PayuSettingsController( ): PayuSettingsResponse { requireRole(propertyAccess, propertyId, principal, Role.ADMIN, Role.MANAGER) val settings = payuSettingsRepo.findByPropertyId(propertyId) - ?: throw ResponseStatusException(HttpStatus.NOT_FOUND, "PayU settings not configured") + if (settings == null) { + return PayuSettingsResponse( + propertyId = propertyId, + configured = false, + merchantKey = null, + isTest = false, + useSalt256 = true, + hasSalt32 = false, + hasSalt256 = false + ) + } return settings.toResponse() } @@ -88,6 +98,7 @@ private fun PayuSettings.toResponse(): PayuSettingsResponse { val propertyId = property.id ?: throw ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Property id missing") return PayuSettingsResponse( propertyId = propertyId, + configured = true, merchantKey = merchantKey, isTest = isTest, useSalt256 = useSalt256, diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/dto/PayuDtos.kt b/src/main/kotlin/com/android/trisolarisserver/controller/dto/PayuDtos.kt index 9dbd913..685cdcf 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/dto/PayuDtos.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/dto/PayuDtos.kt @@ -12,7 +12,8 @@ data class PayuSettingsUpsertRequest( data class PayuSettingsResponse( val propertyId: UUID, - val merchantKey: String, + val configured: Boolean, + val merchantKey: String?, val isTest: Boolean, val useSalt256: Boolean, val hasSalt32: Boolean,