Closed silence87 closed 2 years ago
Hi, in what situation do you approach the T4 timeout?
In the approval request for card complete, a requirement is for payment process to put payment card in for 4 minutes. In this time you have to enter any pin number without confirming. After that, you have to enter your pin to finalize and complete your payment. In this time, when you enter any digit (and correct), after approx 30 - 40 seconds, the payment terminal sends to ecr a status information message, which should reset the T4 timeout.
I will look at the request soon but I cannot give you a date yet.
Hi can you check my test implementation?
Hi, with infinite timespan, it is better, but not perfect. It fixes this issue, but in testing, i can't fire this timeout. Edit: I'll also investigate.
It is not an infinite delay, the timeout is injected over the cancellationToken. An the the timeout is reseted on a status message
infinite in quotes.
Well, i was now able to test in depth. I tested 2 cases:
Both cases works now as expected.
Hi @silence87 @tinohager
Can you elaborate on the fixes applied for the T4 timeout issue? I am using Portalum library to integrate a ZVT project with a Valina Card Complete device. However, the purchase test case when the PIN has to be entered without confirming it for at least 4 minutes is not working on my end. Transaction gets aborted within the timeout I set on the registration command.
According to Part 2, Chapter 5.2.6 of ZVT-Protocol Timeout T4 should reset after Intermediate Status-Info or Status-Info.
https://github.com/Portalum/Portalum.Zvt/blob/8a1b085fc5e49212a14406f17bc5a5892c428cbb/src/Portalum.Zvt/ZvtClient.cs#L292-L299
Task.Delay cancels regardless any Timeout-Resets after
this._commandCompletionTimeout