[w3c/webpayments-payment-apps-api] Recovery of a failed Push Payment (#102)

Hello all,

I have been investigating how a failed Push Payment would be recovered from when processed via a third party payment app and have following commentary:

As per [section 10.2](https://w3c.github.io/webpayments-payment-apps-api/#sec-app-response) of the app spec there is PaymentAppResponse structure containing a "details" object which, as per the spec, "Provides a payment specific used by the merchant to process the transaction and determine successful fund transfer".

This same object called "details" exists in the Payment Request API interface "PaymentResponse" thus providing a channel between the app and merchant site. There is also the "PaymentComplete" enum which has an unknown state, meaning it is possible to cater for some kind of ambiguous state transfer from the mediator to the merchant web page. That said, it is an optional parameter of the "complete" promise for PaymentResponse in PaymentRequestAPI meaning it is at the peril of browser vendor implementation. (Note: what value would the mediator possibly choose if a third party handled the payment?)

With the above there are some inconsistencies when a third party app handles a payment request. i.e. How can a third party app notify the mediator that the payment was either fail, success or unknown. It appears as if the only mechanism is to populate the "details" object which is specific to the payment method.

I suggest adding the "PaymentComplete" enum to the response that comes back to the mediator from the app, allowing for a clear mapping like the "details" object. I guess the mediator could override this if something failed between receiving the response and notifying the merchant site.

-- 
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/webpayments-payment-apps-api/issues/102

Received on Friday, 3 February 2017 15:19:06 UTC