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

Permissible data changes during a retry #933

Closed
SECtim opened this issue Nov 4, 2020 · 2 comments · Fixed by #934
Closed

Permissible data changes during a retry #933

SECtim opened this issue Nov 4, 2020 · 2 comments · Fixed by #934
Assignees

Comments

@SECtim
Copy link

SECtim commented Nov 4, 2020

Hi! While reading up on @crowgames's findings about the retry mechanism (#882, #904), I was a bit confused by the following statement:

A user cannot switch payment handlers during retry. One can only change the things being retried (eg. new credit card expiry date).

Originally posted by @marcoscaceres in #882 (comment)

My understanding would be that "the things being retried" refers to the errorFields argument of retry(). This led me to the description of how a user agent must handle a retry() call.
According to my understanding of that description, the user agent does not need to restrict modifications to the fields indicated by errorFields.

Did I overlook the respective instructions in the spec? If not, I think it would make sense to clarify the specifications in that aspect.

Cheers

@marcoscaceres
Copy link
Member

According to my understanding of that description, the user agent does not need to restrict modifications to the fields indicated by errorFields.

That is correct... say the user wants to ship something to post code "1234", but the merchant says, "Post code 1234 is not valid". The user realizes that the entire address is wrong, and because of that, they decide to pay with an entirely different card. That's totally ok.

Did I overlook the respective instructions in the spec? If not, I think it would make sense to clarify the specifications in that aspect.

Just to make sure we are on the same page, is the example I gave above what we should try to clarify in the spec?

@SECtim
Copy link
Author

SECtim commented Nov 10, 2020

Thanks for the response!

That is correct... say the user wants to ship something to post code "1234", but the merchant says, "Post code 1234 is not valid". The user realizes that the entire address is wrong, and because of that, they decide to pay with an entirely different card. That's totally ok.

Ok, thanks for the clarification - that's the way I understood the spec as well.

Just to make sure we are on the same page, is the example I gave above what we should try to clarify in the spec?

No, I think that's clear from the spec (although an example might be helpful in making that more explicit). I was just confused/unsure about my understanding due to your comment in #882 that "One can only change the things being retried".

I.e., my understanding of the spec is that the user agent may allow changes to, e.g., the credit card data even if the reason for the retry was an invalid shipping address. If that understanding is correct, we can close this issue 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants