diff options
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.kt | 12 |
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) } } |