Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recovery of a failed Push Payment #102

Closed
chackett opened this issue Feb 3, 2017 · 2 comments
Closed

Recovery of a failed Push Payment #102

chackett opened this issue Feb 3, 2017 · 2 comments

Comments

@chackett
Copy link

chackett commented Feb 3, 2017

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 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.

@tommythorsen
Copy link
Member

Section 10.5 mentions using the promise that the payment app passes into PaymentRequestEvent.respondWith to communicate success or failure to the mediator. Resolving the promise indicates success, and rejecting it indicates failure.

@chackett
Copy link
Author

chackett commented Feb 7, 2017

Thanks @tommythorsen , not sure how I missed that one. I will close this now.

@chackett chackett closed this as completed Feb 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants