diff options
author | Torsten Grote <t@grobox.de> | 2023-09-20 15:14:30 +0200 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2023-09-26 18:30:53 +0200 |
commit | 559bfbe2f722144e669ff5810dee3c9e41f9e06e (patch) | |
tree | 9ac983c0dee0eaeb7becc3ee82fa1e18b7bedf33 /wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt | |
parent | f967d32d89dde913ea66aba4884cd9970bef53a5 (diff) | |
download | taler-android-559bfbe2f722144e669ff5810dee3c9e41f9e06e.tar.gz taler-android-559bfbe2f722144e669ff5810dee3c9e41f9e06e.tar.bz2 taler-android-559bfbe2f722144e669ff5810dee3c9e41f9e06e.zip |
[wallet] simplify pay templates
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt | 9 |
1 files changed, 6 insertions, 3 deletions
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<String, String>) = 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 } } |