summaryrefslogtreecommitdiff
path: root/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-08-03 13:31:26 -0300
committerTorsten Grote <t@grobox.de>2020-08-03 13:31:26 -0300
commit5b1163311192e9adf15ef3d626c72812e638f90c (patch)
tree5d3a7c7c9aa2153507f8328c81e4d0f7d8cf78c9 /merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
parent89f8c6a6d590ab3a702f80fbe50c2e9dd67d4bf8 (diff)
downloadtaler-android-5b1163311192e9adf15ef3d626c72812e638f90c.tar.gz
taler-android-5b1163311192e9adf15ef3d626c72812e638f90c.tar.bz2
taler-android-5b1163311192e9adf15ef3d626c72812e638f90c.zip
[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
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt')
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt9
1 files changed, 8 insertions, 1 deletions
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)
}
}