diff options
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt b/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt index 9c292aa..96e939b 100644 --- a/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt +++ b/wallet/src/main/java/net/taler/wallet/refund/RefundManager.kt @@ -21,20 +21,17 @@ import androidx.lifecycle.MutableLiveData import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import kotlinx.serialization.Serializable -import net.taler.lib.common.Amount +import net.taler.wallet.backend.TalerErrorInfo import net.taler.wallet.backend.WalletBackendApi sealed class RefundStatus { - data class Error(val msg: String) : RefundStatus() - data class Success(val response: RefundResponse) : RefundStatus() + data class Error(val error: TalerErrorInfo) : RefundStatus() + data class Success(val response: StartRefundQueryForUriResponse) : RefundStatus() } @Serializable -data class RefundResponse( - val amountEffectivePaid: Amount, - val amountRefundGranted: Amount, - val amountRefundGone: Amount, - val pendingAtExchange: Boolean +data class StartRefundQueryForUriResponse( + val transactionId: String, ) class RefundManager( @@ -45,10 +42,10 @@ class RefundManager( fun refund(refundUri: String): LiveData<RefundStatus> { val liveData = MutableLiveData<RefundStatus>() scope.launch { - api.request("applyRefund", RefundResponse.serializer()) { + api.request("startRefundQueryForUri", StartRefundQueryForUriResponse.serializer()) { put("talerRefundUri", refundUri) }.onError { - liveData.postValue(RefundStatus.Error(it.userFacingMsg)) + liveData.postValue(RefundStatus.Error(it)) }.onSuccess { liveData.postValue(RefundStatus.Success(it)) } |