summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-08-11 17:35:16 -0300
committerTorsten Grote <t@grobox.de>2020-08-11 17:35:16 -0300
commit3ab6f1569b307b155de6049ad7207e10bdf97567 (patch)
tree5fb80477e94ff8c54b7f91db7004d746dcb54151 /wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt
parentd13be7c5c1be2492d38959a29e1b1c33df4938ff (diff)
downloadtaler-android-3ab6f1569b307b155de6049ad7207e10bdf97567.tar.gz
taler-android-3ab6f1569b307b155de6049ad7207e10bdf97567.tar.bz2
taler-android-3ab6f1569b307b155de6049ad7207e10bdf97567.zip
[wallet] upgrade wallet-core and adapt payment API
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt17
1 files changed, 17 insertions, 0 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt b/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt
index 1ff8867..120489d 100644
--- a/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt
+++ b/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt
@@ -19,8 +19,11 @@ package net.taler.wallet.payment
import com.fasterxml.jackson.annotation.JsonTypeInfo
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME
import com.fasterxml.jackson.annotation.JsonTypeName
+import kotlinx.serialization.SerialName
+import kotlinx.serialization.Serializable
import net.taler.common.Amount
import net.taler.common.ContractTerms
+import net.taler.wallet.transactions.TransactionError
@JsonTypeInfo(use = NAME, property = "status")
sealed class PreparePayResponse(open val proposalId: String) {
@@ -42,6 +45,7 @@ sealed class PreparePayResponse(open val proposalId: String) {
@JsonTypeName("insufficient-balance")
data class InsufficientBalanceResponse(
override val proposalId: String,
+ val amountRaw: Amount,
val contractTerms: ContractTerms
) : PreparePayResponse(proposalId)
@@ -52,6 +56,8 @@ sealed class PreparePayResponse(open val proposalId: String) {
* Did the payment succeed?
*/
val paid: Boolean,
+ val amountRaw: Amount,
+ val amountEffective: Amount,
/**
* Redirect URL for the fulfillment page, only given if paid==true.
@@ -59,3 +65,14 @@ sealed class PreparePayResponse(open val proposalId: String) {
val nextUrl: String?
) : PreparePayResponse(proposalId)
}
+
+@Serializable
+sealed class ConfirmPayResult {
+ @Serializable
+ @SerialName("done")
+ data class Done(val nextUrl: String) : ConfirmPayResult()
+
+ @Serializable
+ @SerialName("pending")
+ data class Pending(val lastError: TransactionError) : ConfirmPayResult()
+}