-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add holder name for new Faster Payments accounts #4046
Add holder name for new Faster Payments accounts #4046
Conversation
Since this map is final and every PaymentAccountPayload constructor initialises it to something nonnull, the @nullable field annotation is redundant, so remove it. Further simplify the code by passing an empty map into the constructor directly from each subclass constructor, rather than mapping empties to nulls from each 'proto.getExcludeFromJsonDataMap()' result, then mapping nulls back to empties in the base constructor. This is safe, since getExcludeFromJsonDataMap() always returns a nonnull map. Finally, tidy the code slightly by replacing 'Charset.forName("UTF-8")' with StandardCharsets.UTF_8 in each PaymentAccountPayload subclass.
Use excludeFromJsonDataMap to add an optional owner full name property to Faster Payments (GBP) accounts, without affecting the trade JSON contract (for backwards compatibility). This is to fix bisq-network#3976, that some banks have started checking the recipient name. Make the name a non-optional field for _new_ accounts, but display the details for old Faster Payments accounts in exactly the same way as before, only showing the extra field in the info popup, account and trade step views when it is present. Also update the now misleading payment instructions in the buyer popup. TODO: Update translations (which probably aren't needed anyway).
Open an info popup in the take/create offer view, upon choosing to take or make a new offer, to instruct the user to recreate their old Faster Payments account with an owner full name (and preserved salt). Also show the popup upon manual selection of any old (i.e. missing full name) Faster Payments account from the trading account combo box, analogously to the ClearXchange (Zelle) warning popup logic. (Also eliminate slight differences between the private 'maybeShow[ClearXchange|FasterPayments]Warning' methods in TakeOfferView and MutableOfferView, to make the code easier to deduplicate in future.)
@m52go Could you please review the wording? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NACK - please see my comment regarding the buyers UI during the trade process.
Also please only commit changes to the English source file all other files will be overwritten automatically by loading translations from Transifex before the next release.
ACK from a functionality perspective. Tested old and new Faster Payment Accounts in trades.
desktop/src/main/java/bisq/desktop/components/paymentmethods/FasterPaymentsForm.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Existing text was already good. I just made it more concise, since there's already so much text in the pop-ups.
I did not suggest edits across languages, in case anyone would like to propose edits to these edits. If these edits are acceptable, I can do so.
The UK sort code and account number used to be sufficient for a Faster Payment transfer, but since then some banks \ | ||
have started verifying the receiver's name. For this reason, accounts created in old Bisq clients do not provide the \ | ||
trade partner with an owner full name. Please use trade chat to avoid any issues in such cases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The UK sort code and account number used to be sufficient for a Faster Payment transfer, but since then some banks \ | |
have started verifying the receiver's name. For this reason, accounts created in old Bisq clients do not provide the \ | |
trade partner with an owner full name. Please use trade chat to avoid any issues in such cases. | |
Faster Payment accounts created in old Bisq clients do not provide the receiver's name, \ | |
so please use trade chat to obtain it (if needed). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I'll apply that change. I think the text
Some banks might require the receiver's name ...
should possibly be changed to
Some banks might verify the receiver's name ...
with the suggested change, to emphasise that the issue is that they've started checking it.
(Although my bank still accepts dummy names - I'm not sure how much longer, though.)
payment.fasterPayments.newRequirements.info=When using Faster Payments some banks have started verifying the receiver''s \ | ||
full name. Your current Faster Payments account only specifies a UK bank account number and sort code. This used to be \ | ||
sufficient, but may not be now for some sender''s banks. New Faster Payments accounts in Bisq now include an owner \ | ||
full name. Please consider recreating your account in Bisq to provide future {0} buyers with a recipient name.\n\n\ | ||
When recreating a Faster Payments account, take care to copy the account age verification salt from your old account \ | ||
and use the same sort code and account number. (The owner full name or account name need not be the same, however.) \ | ||
This preserves the public hash, so that the new account need not be aged or signed from scratch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
payment.fasterPayments.newRequirements.info=When using Faster Payments some banks have started verifying the receiver''s \ | |
full name. Your current Faster Payments account only specifies a UK bank account number and sort code. This used to be \ | |
sufficient, but may not be now for some sender''s banks. New Faster Payments accounts in Bisq now include an owner \ | |
full name. Please consider recreating your account in Bisq to provide future {0} buyers with a recipient name.\n\n\ | |
When recreating a Faster Payments account, take care to copy the account age verification salt from your old account \ | |
and use the same sort code and account number. (The owner full name or account name need not be the same, however.) \ | |
This preserves the public hash, so that the new account need not be aged or signed from scratch. | |
payment.fasterPayments.newRequirements.info=Some banks have started verifying the receiver''s \ | |
full name for Faster Payments transfers. Your current Faster Payments account does not specify a full name.\n\n \ | |
Please consider recreating your Faster Payments account in Bisq to provide future {0} buyers with a full name.\n\n\ | |
When you recreate the account, make sure to copy the precise sort code, account number, and account age \ | |
verification salt values from your old account to your new account. This will ensure your existing account's age and \ | |
signing status are preserved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I'll apply the suggested simplification.
0ec168b
to
e2f5d7f
Compare
I've just done a force push to drop the last commit which made the unwanted translation changes, and replaced it with a commit to apply @ripcurlx's suggestion. I just noticed the text change suggestions - will push those shortly. |
Display the account number on the same row as the sort code in the trade step view, to prevent scrolling with the extra name field (as suggested in the code review). (This also affects the layout of old accounts without the extra field.) Also apply the suggested popup text simplifications.
e2f5d7f
to
d84130f
Compare
I've just force pushed again to include the popup text simplifications in the last commit. |
Use
excludeFromJsonDataMap
to add an optional owner full name property to Faster Payments (GBP) accounts, without affecting the trade JSON contract (for backwards compatibility). This is to fix #3976, that some banks have started checking the recipient name.This uses the new map key:
public static final String HOLDER_NAME = "holderName";
Make the full name a non-optional field for new accounts, but display the details for old Faster Payments accounts in exactly the same way as before, only showing the extra field in the info popup, account and trade step views when it is present.
Also update the now misleading payment instructions in the buyer popup. With the change, it shows as:
Also add a popup to advise the user to recreate their Faster Payments account.
Make an info popup open in the take/create offer view, upon choosing to take or make a new offer, to instruct the user to recreate their old Faster Payments account with an owner full name (and preserved salt). Also show the popup upon manual selection of any old (i.e. missing full name) Faster Payments account from the trading account combo box, analogously to the ClearXchange (Zelle) warning popup logic.
I've also copied/overwritten the two new/updated English resource bundle strings into the non-English resource files, so that the translations stay in sync with the updated information. (As it is a UK-only payment method, the non-English translations are probably not all that important anyway.)
--
Finally, I removed some redundant null-handling of the
excludeFromJsonDataMap
fieldand constructor parameters. This touched all the
PaymentAccountPayload
subclasses, which was quite a lot of files (although fairly trivial changes).