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

Add SWIFT payment method #5672

Merged
merged 5 commits into from Sep 13, 2021
Merged

Add SWIFT payment method #5672

merged 5 commits into from Sep 13, 2021

Conversation

ghost
Copy link

@ghost ghost commented Aug 24, 2021

Implements SWIFT international wire transfer per spec here: #1789 (comment)

Closes #1789

@m52go
Copy link
Contributor

m52go commented Aug 24, 2021

@jmacxx thanks for doing this! Just ran through it on regtest.

Would it be possible to have the "Special info about any of the inputs required for creating the payment account" text appear when the blank input form shows up? As it is, the user will be confronted with a long form and many inputs, but the guidance on how to handle those inputs comes after they're done filling out the inputs.

With that said, I'm just now noticing that this is the case for all payment methods...seems kind of backwards to have the helper pop-up appear after the user is done with the form. Maybe that's a different task / PR, not sure.

@pazza83 I think the wiki should be updated with all the text in this PR, at a minimum, along with any other information you think would be helpful. That would also allow us to replace some of the text in the pop-ups with a link to the wiki.

@pazza83
Copy link

pazza83 commented Aug 24, 2021

Thanks for this @jmacxx

@m52go yes agreed. I will create a wiki for SWIFT and include the relevant info.

The link to the wiki page will be: https://bisq.wiki/SWIFT

@ghost
Copy link
Author

ghost commented Aug 24, 2021

Would it be possible to have the "Special info about any of the inputs required for creating the payment account" text appear when the blank input form shows up?

@m52go no problem, made the change for SWIFT via commit 53bc2b2

@m52go
Copy link
Contributor

m52go commented Aug 24, 2021

Super 👍

I would like to refine some of the text in the modals and add links but that can only be done once @pazza83 finishes wiki.

Since this is a rather complex payment method for large amounts, it would be great to get more eyes on it. Below are screenshots.

@dav1dpgit @mpolavieja @Conza88 would you mind taking a look to see if it all looks good to you?

Popup shown when a user chooses to create new SWIFT account

Screenshot from 2021-08-24 13-03-39

New account creation (1/3)

Screenshot from 2021-08-24 13-10-49

New account creation; this part is optional (2/3)

Screenshot from 2021-08-24 13-11-04

New account creation (3/3)

Screenshot from 2021-08-24 13-11-17

Message shown to buyer

Screenshot from 2021-08-24 13-02-25

Message shown to seller

Screenshot from 2021-08-24 13-02-47

@Conza88
Copy link

Conza88 commented Aug 24, 2021

A quick comment — have done a few of these. The bank A I was sending from to bank B, was meant to go AUD to stay AUD although in a foreign bank.

When the funds arrived, receiver noticed less than should have been there. Upon his bank B internal investigation, it was routed via a US bank as intermediary. The bastard's (banks) had erroneously converted to USD then back to AUD in the middle. Taking a cut. SMH. Took like 4 days to get them traversed, bank B had to send back to intermediary bank.

The recommendation was to put in description when sending in future: DO NOT CONVERT. This is how retarded they are.

Now if that's worth including lol.. maybe a big giveaway, increase in 10x people "saying don't convert" 🤷‍♂️. But could be added a request in optional comments.

Potentially confusing the no trade or ID for other trades, but message about don't leave anything blank.

I also originally was confused about address, if was receivers but actually their bank address info etc.

@WillyGoldman
Copy link

WillyGoldman commented Aug 25, 2021

Swift should be a great addition.

Wordsmithing first modal dialog:


Please make sure to include as much information as possible for SWIFT
payments. Some information may not be required for this SWIFT payment-
provide this infromation anyway. SWIFT is international and different
countries require different information. To be safe, include as much
information as possible.

Most banks charge fees for sending or receiving SWIFT payments. Bisq requires
BTC Buyers to send SWIFT payments using the "shared fee model" (SHA). Do not use
another mode. Modes like "Beneficiary pays fees" (BEN) violate the rules of Bisq
and can be penzliazed from the buyers bitcoin secuirty deposit.

SWIFT payments require more information than any other payment method on Bisq.
Please communicate with your trading peer quickly and clearly. Communication will
ensure a good trading experience. All Bisq payment methods should always leave
the "reference" or "note" field blank. If this field is required please
use your own "Account owner name".

Sorry, third paragraph is misformatted because SWIFT in caps invokes bold....

My goal in all edits is to simplify vocabulary and sentence structure to ensure clear understanding for
users that have English as a second language. Shorter sentences, less pronouns, simpler vocabulary is my goal.

I think the other dialogs are essentially the same text rearanged.

Swift looks like it will help many people!

@dav1dpgit
Copy link

dav1dpgit commented Aug 25, 2021

Some comments:

  • Receiving banks usually convert incoming SWIFT wires into the domestic currency at a steep premium. If this is not desired by the recipient he/she must instruct the SWIFT sender to include "DO NOT CONVERT" in the comment field. In this situation the recipient must be able to handle multicurrency incoming SWIFT payments. Per the comment from @Conza88 it may be useful to notify at the SWIFT account setup something along the lines of "Be aware: Your receiving bank may convert incoming SWIFT wires to the domestic currency without prior notice unless specifically instructed not to do so by the SWIFT sender and/or receiver. Bank SWIFT wire conversions may result in a different quantity and currency received vs. the bisq trade quantity and currency. Discuss with your bank how to prevent this from occurring before initiating a SWIFT transaction."

  • I see at the end of other thread (Add SWIFT (int. wire transfer) as payment method #1789 ) and above in 1 of 3, when setting up the bisq SWIFT settlement method the bisq user must choose the currency. Will this necessitate a separate SWIFT settlement method for every currency one is willing to receive? I do not think this is optimal, particularly as SWIFT should be multinational/multicurrency. Some SWIFT users can accept multicurrency SWIFT payments, and others will simply let their bank automatically convert SWIFT payments into the domestic currency. I suggest a checkbox set of currencies acceptable (similar to the REVOLUT) when setting up the SWIFT settlement method.

@ghost ghost marked this pull request as draft August 25, 2021 18:00
@ghost ghost mentioned this pull request Aug 25, 2021
@ghost ghost marked this pull request as ready for review August 29, 2021 16:39
@ghost
Copy link
Author

ghost commented Aug 29, 2021

Functionality seems ready by now. Popup text still needs polishing per @m52go :

I would like to refine some of the text in the modals and add links but that can only be done once @pazza83 finishes wiki.

@ghost ghost closed this Aug 30, 2021
@ghost ghost reopened this Aug 30, 2021
@pazza83
Copy link

pazza83 commented Sep 4, 2021

I have completed the first draft of the SWIFT wiki.

@jmacxx please can you add a reference to the wiki on each of the pop ups. Cheers.

Also if you can post a full screen shot of the account addition process I will replace the current one I used for the wiki: https://bisq.wiki/File:SWIFT_1.png

@ghost
Copy link
Author

ghost commented Sep 8, 2021

... if you can post a full screen shot of the account addition process ...

Here u go @pazza83

image

Screenshot from 2021-09-07 21-37-12

@m52go
Copy link
Contributor

m52go commented Sep 8, 2021

I've edited the wiki article and offered suggestions for the copy in this pull request.

Graphics are below.

Notes:

  • As I understand @dav1dpgit's comment, "DO NOT CONVERT" should go in the comments for the wire transfer, not in the Bisq payment account's "additional info" section.

Create payment account

Screenshot from 2021-09-08 14-49-41

Buying BTC

Screenshot from 2021-09-08 14-50-28

Selling BTC

Screenshot from 2021-09-08 14-50-54

jmacxx and others added 2 commits September 8, 2021 14:57
@ripcurlx ripcurlx added this to the v1.7.4 milestone Sep 9, 2021
Copy link
Contributor

@ripcurlx ripcurlx left a 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 comments. As I have the changes locally already I'll push them to the branch as soon as I'm done with the Regtest test run. So please wait for doing the changes on your own.

@ripcurlx
Copy link
Contributor

ripcurlx commented Sep 9, 2021

NIT: would be great to get rid of the grey line at the bottom and to be able to copy the fields to prevent any typos.

Bildschirmfoto 2021-09-09 um 10 37 59

@ripcurlx
Copy link
Contributor

ripcurlx commented Sep 9, 2021

Bildschirmfoto 2021-09-09 um 10 40 12
As I'm not familiar with SWIFT: Is it necessary to display on the BTC seller side more information from the buyer as just the name to confirm the payment received?

@ripcurlx
Copy link
Contributor

ripcurlx commented Sep 9, 2021

Besides the issues mentioned above I was able to complete a trade as expected. I'm not 100% happy with the default design of the TitledPane, but it doesn't look too bad in dark mode and it is just on account creation anyways.

@ghost ghost requested a review from ripcurlx September 9, 2021 15:41
@ghost
Copy link
Author

ghost commented Sep 9, 2021

Thanks @ripcurlx, requested changes made.

Is it necessary to display on the BTC seller side more information from the buyer as just the name to confirm the payment received?

Buyer name and amount is ok AFAIK.

@Conza88
Copy link

Conza88 commented Sep 9, 2021

Just checking hitting "copy" it gets just the name, not the full spiel about international swift transfer?

@ghost
Copy link
Author

ghost commented Sep 10, 2021

Just checking hitting "copy" it gets just the name, not the full spiel about international swift transfer?

"Copy" copies the contents of the field next to the copy button, per standard GUI practice. The same functionality exists on all payment methods, for example:

image

image

@Conza88
Copy link

Conza88 commented Sep 10, 2021

The whole purpose of the "copy" is to paste into the fiat on ramp / bank transfer to not make a mistake.

Replicating the Swift part is redundant and annoying for customer to remove.

That's the full customer experience. UX design standards take a back seat to this end purpose. Or at least should, because the UX is meant to aide experience not hinder.

@ghost
Copy link
Author

ghost commented Sep 11, 2021

This is the seller confirming payment received. Same principle for all payment methods.

@Conza88
Copy link

Conza88 commented Sep 11, 2021

Ah ok. My bad. Apologies.
As long as sender of fiat, first screen is not the full spiel just the necessary account name etc, then all good

@ghost
Copy link
Author

ghost commented Sep 13, 2021

@m52go when placing a buy offer, user is reminded to use shared fee model:

image

When sending payment, we instruct users to pay own bank fees, (a default message for most payment methods unless we customize it).

image

If your bank charges you any fees to make the transfer, you are responsible for paying those fees

Might this be confusing or contradictory, do you think the wording of that line needs to be made clearer for SWIFT?

@m52go
Copy link
Contributor

m52go commented Sep 13, 2021

Shoot, good catch. If there is there a way to make a custom version of that line just for SWIFT...ideally it should be replaced with something like Make sure to use the SHA (shared fee model) to send the SWIFT payment. See more details at [HYPERLINK:https://bisq.wiki/SWIFT#Use_the_correct_fee_option].

If customizing that line isn't feasible, let me know, and we might have to get more creative.

@ghost
Copy link
Author

ghost commented Sep 13, 2021

Change made.

image

@m52go
Copy link
Contributor

m52go commented Sep 13, 2021

Awesome, thank you @jmacxx!

@ripcurlx ripcurlx merged commit 90b2f9e into bisq-network:master Sep 13, 2021
@ghost ghost mentioned this pull request Sep 17, 2021
@ghost ghost deleted the swift_payment_method branch May 29, 2022 22:51
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

Successfully merging this pull request may close these issues.

Add SWIFT (int. wire transfer) as payment method
6 participants