From 5b1163311192e9adf15ef3d626c72812e638f90c Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 3 Aug 2020 13:31:26 -0300 Subject: [pos] improve payment processing - cancel orders that have been abandoned and will not be paid - show unpaid orders in history (in case one makes it through) - set deadlines when creating orders in case it helps with enabling refunds --- .../main/java/net/taler/merchantpos/payment/PaymentManager.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt') diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt index fc4f642..bc1e35f 100644 --- a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt +++ b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt @@ -25,13 +25,16 @@ import androidx.lifecycle.MutableLiveData import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import net.taler.common.Duration import net.taler.merchantlib.CheckPaymentResponse import net.taler.merchantlib.MerchantApi +import net.taler.merchantlib.PostOrderRequest import net.taler.merchantlib.PostOrderResponse import net.taler.merchantpos.MainActivity.Companion.TAG import net.taler.merchantpos.R import net.taler.merchantpos.config.ConfigManager import net.taler.merchantpos.order.Order +import java.util.concurrent.TimeUnit.HOURS import java.util.concurrent.TimeUnit.MINUTES import java.util.concurrent.TimeUnit.SECONDS @@ -65,7 +68,11 @@ class PaymentManager( val merchantConfig = configManager.merchantConfig!! mPayment.value = Payment(order, order.summary, configManager.currency!!) scope.launch(Dispatchers.IO) { - val response = api.postOrder(merchantConfig, order.toContractTerms()) + val request = PostOrderRequest( + contractTerms = order.toContractTerms(), + refundDelay = Duration(HOURS.toMillis(1)) + ) + val response = api.postOrder(merchantConfig, request) response.handle(::onNetworkError, ::onOrderCreated) } } -- cgit v1.2.3