diff options
author | Torsten Grote <t@grobox.de> | 2022-09-23 15:05:38 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2022-09-23 15:05:38 -0300 |
commit | baca5eceb08055d35ef96d6d6586fbba55511d40 (patch) | |
tree | 26eaa30bde4d6d38775546bd5da811240d682e4e /wallet/src/main/java/net/taler/wallet/payment | |
parent | 54789b6adc3a7716c31b3d634b2afe55d95d9724 (diff) | |
download | taler-android-baca5eceb08055d35ef96d6d6586fbba55511d40.tar.gz taler-android-baca5eceb08055d35ef96d6d6586fbba55511d40.tar.bz2 taler-android-baca5eceb08055d35ef96d6d6586fbba55511d40.zip |
[wallet] Implement beginning of deposits
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/payment')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt | 22 |
1 files changed, 21 insertions, 1 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 ae091df..b8918c1 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt @@ -22,11 +22,12 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch +import kotlinx.serialization.Serializable import net.taler.common.Amount import net.taler.common.ContractTerms import net.taler.wallet.TAG -import net.taler.wallet.backend.WalletBackendApi import net.taler.wallet.backend.TalerErrorInfo +import net.taler.wallet.backend.WalletBackendApi import net.taler.wallet.payment.PayStatus.AlreadyPaid import net.taler.wallet.payment.PayStatus.InsufficientBalance import net.taler.wallet.payment.PreparePayResponse.AlreadyConfirmedResponse @@ -119,9 +120,28 @@ class PaymentManager( mPayStatus.value = PayStatus.None } + @UiThread + fun makeDeposit(url: String, amount: Amount) = scope.launch { + // TODO + api.request("createDepositGroup", CreateDepositGroupResponse.serializer()) { + put("depositPaytoUri", url) + put("amount", amount.toJSONString()) + }.onError { + Log.e(TAG, "Error createDepositGroup $it") + }.onSuccess { + Log.e(TAG, "createDepositGroup $it") + } + } + private fun handleError(operation: String, error: TalerErrorInfo) { Log.e(TAG, "got $operation error result $error") mPayStatus.value = PayStatus.Error(error.userFacingMsg) } } + +@Serializable +data class CreateDepositGroupResponse( + val depositGroupId: String, + val transactionId: String, +) |