summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-09-20 15:14:30 +0200
committerTorsten Grote <t@grobox.de>2023-09-26 18:30:53 +0200
commit559bfbe2f722144e669ff5810dee3c9e41f9e06e (patch)
tree9ac983c0dee0eaeb7becc3ee82fa1e18b7bedf33 /wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt
parentf967d32d89dde913ea66aba4884cd9970bef53a5 (diff)
downloadtaler-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.kt9
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
}
}