diff --git a/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt b/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt index 1f59d332..41870125 100644 --- a/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt +++ b/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt @@ -53,6 +53,7 @@ sealed class ContractTerms { abstract val exchanges: List abstract val deliveryLocation: Location? abstract val deliveryDate: Timestamp? + abstract val minimumAge: Int? @Serializable @JsonClassDiscriminator("version") @@ -98,6 +99,9 @@ sealed class ContractTerms { @SerialName("delivery_date") override val deliveryDate: Timestamp? = null, + @SerialName("minimum_age") + override val minimumAge: Int? = null, + val amount: Amount, @SerialName("max_fee") @@ -150,6 +154,9 @@ sealed class ContractTerms { @SerialName("delivery_date") override val deliveryDate: Timestamp? = null, + @SerialName("minimum_age") + override val minimumAge: Int? = null, + val choices: List, @SerialName("token_families") diff --git a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt index 3663d1d3..e5f1ca9f 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt @@ -270,6 +270,16 @@ fun MerchantSection( style = MaterialTheme.typography.titleLarge, ) + // AGE RESTRICTION + contractTerms.minimumAge?.takeIf { it > 0 }?.let { age -> + Text( + stringResource(R.string.payment_minimum_age, age), + modifier = Modifier.padding(top = 8.dp), + style = MaterialTheme.typography.labelLarge, + color = MaterialTheme.colorScheme.error, + ) + } + // MERCHANT INFO BUTTON // TextButton(onClick = {}) { // Icon( diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml index 89750709..40f44f78 100644 --- a/wallet/src/main/res/values/strings.xml +++ b/wallet/src/main/res/values/strings.xml @@ -319,6 +319,7 @@ GNU Taler is immune to many types of fraud such as credit card data theft, phish Insufficient tokens Unexpected merchant %1$s, your token could be stolen. Merchant %1$s is untrusted, cannot spend this token. + Age-restricted purchase: %1$d+ Error creating order Payment