[w3c/browser-payment-api] complete() does not match all payment apps (#484)

This issue is for the record only since it addresses the actual API _concept_ rather than details.

FWIW, I'm developing a (native) payment app which essentially works as a traditional payment terminal but with integrated "virtual" cards.  In payment terminals you authorize a transaction request but that is not equivalent to tearing down the UI (which <code>complete()</code> appears to assume), it is rather put in a waiting state:
![working](https://cloud.githubusercontent.com/assets/8044211/24388177/37a71294-1379-11e7-988a-b954e475fc87.gif)

It also possible that the waiting state is terminated by something else than success.  Here is an authentic example of what the payment terminal prototype can come up with:
![rba2](https://cloud.githubusercontent.com/assets/8044211/24388519/90925c54-137b-11e7-90cb-f8bc0d3de84f.png)
In this case the application's _internal_ authorization process is _restarted_ because the RBA (Risk Based Authentication) information above is included in the authorization message as well.

All of this happen in the context of a _single_ invocation by the merchant.

For a more technical description of the flow, you may take a peek at: https://github.com/w3c/webpayments-methods-credit-transfer-direct-debit/issues/42#issuecomment-289415093

That for example Android Pay doesn't need this kind of operation is because it is rather a "card emulator" than a payment terminal.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/browser-payment-api/issues/484

Received on Tuesday, 28 March 2017 04:40:07 UTC