Open Bug 1491815 Opened 6 years ago Updated 2 years ago

Billing address information should be validated before the user clicks Pay

Categories

(Firefox :: WebPayments UI, defect, P3)

64 Branch
defect

Tracking

()

Tracking Status
firefox64 --- affected

People

(Reporter: hyacoub, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Whiteboard: [webpayments-reserve])

Affected versions]: 
Nightly 64.0a1 

[Affected platforms]:
Platforms: Windows 10 x64, Ubuntu 18.04, Mac OS 10.13

[Preconditions]:
1. Set the pref dom.payments.request.enabled to "true";
2. Make sure you have at least one Shipping Address and one Credit Card saved in your browser.

[Steps to reproduce]:
1. From "about:preferences#privacy" add a new address but without filling all the required fields.
2. Go to "https://rsolomakhin.github.io/pr/single/" page and click on "Buy" button.
3. Select any shipping address.
4. Select any payment method and click on "Edit".
5. From "Billing Address" select the one added in step 1 and click on "Update".
6. Click on "Pay".


[Expected result]:
- Billing Address information should be displayed in the received response.
OR
- An error should be displayed if the billing address selected isn't filled with all the required fields.

[Actual result]:
Billing Address information isn't displayed in the received response.
Flags: qe-verify+
QA Contact: hani.yacoub
Whiteboard: [webpayments] [triage]
Priority: -- → P2
Whiteboard: [webpayments] [triage] → [webpayments]
Flags: needinfo?(MattN+bmo)
Making billing address required is bug 1480717 but this bug can stay open for making sure the billing address is complete.
Flags: needinfo?(MattN+bmo) → needinfo?(hani.yacoub)
Priority: P2 → P3
Blocks: 1480717
Flags: needinfo?(hani.yacoub)
Whiteboard: [webpayments] → [webpayments-reserve]
Priority: P3 → P2
Whiteboard: [webpayments-reserve] → [webpayments]
Assignee: nobody → jaws
Status: NEW → ASSIGNED
Priority: P2 → P1
Assignee: jaws → nobody
Status: ASSIGNED → NEW
Priority: P1 → P2
Hani, I'm not able to reproduce this, are you still able to?
Flags: needinfo?(hani.yacoub)
I did more investigation and discovered that only when "Street Address" field is filled, billing address information will be displayed in the received response.
I guess that's why you couldn't reproduce it.

Do you think that we should still consider this an issue?
Flags: needinfo?(hani.yacoub) → needinfo?(sfoster)
(In reply to Hani Yacoub from comment #3)
> I did more investigation and discovered that only when "Street Address"
> field is filled, billing address information will be displayed in the
> received response.
> I guess that's why you couldn't reproduce it.
> 
> Do you think that we should still consider this an issue?

Thanks for tracking that down. Yeah either the address is valid in which case it should appear in the response, or it is invalid in which case the user should be prevented from paying. I'll investigate.
Assignee: nobody → sfoster
Flags: needinfo?(sfoster)
Priority: P2 → P1
Status: NEW → ASSIGNED
We don't seem to have any requirements related to the billing address in the payment method picker. Another STR for this is to remove the address associated with a credit card in Preferences, and use that card to complete a payment. From the summary page, we don't validate that there is a billing address, or that the address is complete and valid. The validation we do is in the add/edit forms i.e. we make only it difficult to enter bad data. 

This is either blocked by or a dupe of bug 1481481 which will change how we do this validation. I'll block on it for now and we can figure out if there is anything remaining to do.
Depends on: 1481481
Bug 1481481 can handle the various address forms. This bug will take the same approach of form constraint validation to do validity checks for the payment method. I.e. push the values of the given payment method (card) into the hidden card edit form and use the value of form.checkValidity() to know if the selected option is valid and if the pay button should be enabled.
Unassigning myself for now as I'll work on bug 1481481 first.
Assignee: sfoster → nobody
Status: ASSIGNED → NEW
Priority: P1 → P2
Summary: Billing address information isn't displayed in the received response → Billing address information should be validated before the user clicks Pay
Blocks: 1494895
Priority: P2 → P3
Whiteboard: [webpayments] → [webpayments-reserve]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.