summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt12
1 files changed, 9 insertions, 3 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
index 1698a10..90b8570 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -59,7 +59,7 @@ sealed class WithdrawStatus {
) : WithdrawStatus()
object Withdrawing : WithdrawStatus()
- data class Success(val currency: String) : WithdrawStatus()
+ data class Success(val currency: String, val transactionId: String) : WithdrawStatus()
sealed class ManualTransferRequired : WithdrawStatus() {
abstract val uri: Uri
abstract val transactionId: String?
@@ -109,6 +109,11 @@ data class WithdrawalDetails(
)
@Serializable
+data class AcceptWithdrawalResponse(
+ val transactionId: String,
+)
+
+@Serializable
data class AcceptManualWithdrawalResponse(
val exchangePaytoUris: List<String>,
)
@@ -249,14 +254,15 @@ class WithdrawManager(
status: ReceivedDetails,
restrictAge: Int? = null,
) {
- api.request<Unit>("acceptBankIntegratedWithdrawal") {
+ api.request("acceptBankIntegratedWithdrawal", AcceptWithdrawalResponse.serializer()) {
restrictAge?.let { put("restrictAge", restrictAge) }
put("exchangeBaseUrl", status.exchangeBaseUrl)
put("talerWithdrawUri", status.talerWithdrawUri)
}.onError {
handleError("acceptBankIntegratedWithdrawal", it)
}.onSuccess {
- withdrawStatus.value = WithdrawStatus.Success(status.amountRaw.currency)
+ withdrawStatus.value =
+ WithdrawStatus.Success(status.amountRaw.currency, it.transactionId)
}
}