Updated on 2026-08-14
This commit is contained in:
parent
e3868e3ecd
commit
576332d67d
24 changed files with 250 additions and 17 deletions
|
|
@ -166,7 +166,7 @@ sealed class PaymentAccountStatusValue {
|
|||
val fiatRate: SerializedBigDecimal?,
|
||||
val error: Error?,
|
||||
val virtualAccount: VirtualAccountOnramp?,
|
||||
val tariffPlan: TangemPayCustomerTariffPlan?,
|
||||
val tariffPlan: TangemPayTariffPlanState?,
|
||||
) : PaymentAccountStatusValue() {
|
||||
val cryptoCurrencyStatus: CryptoCurrencyStatus = CryptoCurrencyStatus(
|
||||
currency = cryptoCurrency,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.tangem.domain.models.account
|
||||
|
||||
import com.tangem.domain.models.serialization.SerializedBigDecimal
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.Locale
|
||||
|
|
@ -11,7 +12,55 @@ data class TangemPayTariffPlan(
|
|||
@SerialName("name") val name: String,
|
||||
@SerialName("description_items") val descriptionItems: List<DescriptionItem>,
|
||||
@SerialName("images") val images: List<Image> = emptyList(),
|
||||
@SerialName("fees") val fees: List<Fee> = emptyList(),
|
||||
) {
|
||||
@Serializable
|
||||
data class Fee(
|
||||
@SerialName("type") val type: Type,
|
||||
@SerialName("amount") val amount: SerializedBigDecimal,
|
||||
@SerialName("currency") val currency: String,
|
||||
@SerialName("description") val description: String,
|
||||
@SerialName("period") val period: Period?,
|
||||
) {
|
||||
@Serializable
|
||||
enum class Type {
|
||||
@SerialName("FREE")
|
||||
FREE,
|
||||
|
||||
@SerialName("RECURRING")
|
||||
RECURRING,
|
||||
|
||||
@SerialName("UNKNOWN")
|
||||
UNKNOWN,
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromString(value: String?) = when (value?.uppercase(Locale.US)) {
|
||||
"FREE" -> FREE
|
||||
"RECURRING" -> RECURRING
|
||||
else -> UNKNOWN
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Serializable
|
||||
enum class Period {
|
||||
@SerialName("MONTH")
|
||||
MONTH,
|
||||
|
||||
@SerialName("UNKNOWN")
|
||||
UNKNOWN,
|
||||
;
|
||||
|
||||
companion object {
|
||||
fun fromString(value: String?) = when (value?.uppercase(Locale.US)) {
|
||||
"MONTH" -> MONTH
|
||||
else -> UNKNOWN
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class DescriptionItem(
|
||||
@SerialName("section") val section: Section,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package com.tangem.domain.models.account
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class TangemPayTariffPlanState(
|
||||
@SerialName("tariff") val tariff: TangemPayCustomerTariffPlan,
|
||||
@SerialName("order") val order: Order?,
|
||||
) {
|
||||
@Serializable
|
||||
data class Order(
|
||||
@SerialName("orderId") val orderId: String,
|
||||
@SerialName("step") val step: OrderStep,
|
||||
)
|
||||
|
||||
@Serializable
|
||||
sealed interface OrderStep {
|
||||
|
||||
@Serializable
|
||||
data object Unknown : OrderStep
|
||||
|
||||
@Serializable
|
||||
data class AwaitingDeposit(
|
||||
@SerialName("fromPlan") val fromPlan: TangemPayTariffPlan,
|
||||
@SerialName("toPlan") val toPlan: TangemPayTariffPlan,
|
||||
) : OrderStep
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue