summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/payment
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2022-09-23 15:05:38 -0300
committerTorsten Grote <t@grobox.de>2022-09-23 15:05:38 -0300
commitbaca5eceb08055d35ef96d6d6586fbba55511d40 (patch)
tree26eaa30bde4d6d38775546bd5da811240d682e4e /wallet/src/main/java/net/taler/wallet/payment
parent54789b6adc3a7716c31b3d634b2afe55d95d9724 (diff)
downloadtaler-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.kt22
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,
+)