From 559bfbe2f722144e669ff5810dee3c9e41f9e06e Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 20 Sep 2023 15:14:30 +0200 Subject: [wallet] simplify pay templates --- wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt') diff --git a/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt b/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt index 627c05d..3a3069c 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt @@ -79,6 +79,7 @@ class PaymentManager( response.contractTerms, response.amountRaw ) + is AlreadyConfirmedResponse -> AlreadyPaid } } @@ -103,22 +104,24 @@ class PaymentManager( resetPayStatus() } - fun preparePayForTemplate(url: String, params: Map) = scope.launch { + fun preparePayForTemplate(url: String, summary: String?, amount: Amount?) = scope.launch { mPayStatus.value = PayStatus.Loading api.request("preparePayForTemplate", PreparePayResponse.serializer()) { put("talerPayTemplateUri", url) put("templateParams", JSONObject().apply { - params.forEach { put(it.key, it.value) } + summary?.let { put("summary", it) } + amount?.let { put("amount", it.toJSONString()) } }) }.onError { handleError("preparePayForTemplate", it) - }.onSuccess { response -> + }.onSuccess { response -> mPayStatus.value = when (response) { is PaymentPossibleResponse -> response.toPayStatusPrepared() is InsufficientBalanceResponse -> InsufficientBalance( contractTerms = response.contractTerms, amountRaw = response.amountRaw, ) + is AlreadyConfirmedResponse -> AlreadyPaid } } -- cgit v1.2.3