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 payment method "Cash by mail" #5092

Merged
merged 5 commits into from Jan 21, 2021
Merged

Add payment method "Cash by mail" #5092

merged 5 commits into from Jan 21, 2021

Conversation

ghost
Copy link

@ghost ghost commented Jan 19, 2021

Closes #1101

This is built on top of #5080 and #5091.
The code for this PR is contained in e11209d


image


image

@ripcurlx ripcurlx added this to the v1.5.5 milestone Jan 19, 2021
@ripcurlx ripcurlx changed the base branch from master to hotfix/v1.5.4 January 19, 2021 10:03
@ripcurlx ripcurlx changed the base branch from hotfix/v1.5.4 to master January 19, 2021 10:03
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 also add the new Enum at the end to

private enum PaymentMethodMapper {
OK_PAY,
CASH_APP,
VENMO,
AUSTRALIA_PAYID, // seems there is a dev trade
UPHOLD,
MONEY_BEAM,
POPMONEY,
REVOLUT,
PERFECT_MONEY,
SEPA,
SEPA_INSTANT,
FASTER_PAYMENTS,
NATIONAL_BANK,
JAPAN_BANK,
SAME_BANK,
SPECIFIC_BANKS,
SWISH,
ALI_PAY,
WECHAT_PAY,
CLEAR_X_CHANGE,
CHASE_QUICK_PAY,
INTERAC_E_TRANSFER,
US_POSTAL_MONEY_ORDER,
CASH_DEPOSIT,
MONEY_GRAM,
WESTERN_UNION,
HAL_CASH,
F2F,
BLOCK_CHAINS,
PROMPT_PAY,
ADVANCED_CASH,
BLOCK_CHAINS_INSTANT,
TRANSFERWISE,
AMAZON_GIFT_CARD
}

@ghost
Copy link
Author

ghost commented Jan 19, 2021

Thanks @ripcurlx, done! 👍

@pazza83
Copy link

pazza83 commented Jan 20, 2021

Hi @jmacxx thanks for this, much appreciated.

Please can you paste the text for https://user-images.githubusercontent.com/47253594/104983679-de267a80-59d2-11eb-9c2d-583bae1e73ac.png

So I can use the same info in the Wiki.

Many thanks

@ghost
Copy link
Author

ghost commented Jan 20, 2021

@pazza83

Trading using cash-by-mail (CBM) on Bisq requires that you understand the following:

  • BTC buyer should package cash in a tamper-evident cash bag.
  • BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.
  • BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.
  • BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.
  • Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.
  • Offer taker agrees to the offer maker's terms and conditions by taking the offer.
  • MEDIATORS CANNOT MAKE JUDGEMENTS IN CBM DISPUTES. But they can help with smaller problems such as technical difficulties not related to scam attempts.

To be sure you fully understand the requirements of cash-by-mail trades, please see: [https://bisq.wiki/Cash_by_Mail]

If you do not understand these requirements, do not trade using CBM on Bisq.

@ripcurlx
Copy link
Contributor

@m52go Could you please go over the new translations? Thanks!

ripcurlx
ripcurlx previously approved these changes Jan 20, 2021
@ripcurlx
Copy link
Contributor

ACK from a functional perspective. Tried it on Regtest and everything seems to be working. But I want to wait for @m52go to proof-read the new translations before merging.

@m52go
Copy link
Contributor

m52go commented Jan 20, 2021

Small note on a carryover from before. Otherwise the main strings look good...I had edited them before already ;)

Co-authored-by: m52go <735155+m52go@users.noreply.github.com>
@ripcurlx ripcurlx merged commit 334fbdb into bisq-network:master Jan 21, 2021
@cbeams
Copy link
Member

cbeams commented Jan 21, 2021

This is super exciting. I assume it's a known issue / open task that the advertised https://bisq.wiki/Cash_by_Mail page does not actually yet exist?

@ripcurlx
Copy link
Contributor

This is super exciting. I assume it's a known issue / open task that the advertised https://bisq.wiki/Cash_by_Mail page does not actually yet exist?

Yes, as far as I know @pazza83 is working on this one.

@pazza83
Copy link

pazza83 commented Jan 22, 2021

Yes going to get the wiki online this weekend.

@pazza83
Copy link

pazza83 commented Jan 22, 2021

Hi @jmacxx

Please see comment: https://bitcoinhackers.org/@pamaca/105594170227015360

I did initially think the role of the mediators would be the same with cash by mail as any other fiat payment. The mediators never really make a judgement, only a suggestion. It is the refund agent that makes the judgement when their suggestions are not accepted by at least one trader.

On the CBM issue there was some discussion about what the mediators would / would not be happy to mediate but no input was provided by the mediators to make a decision. Therefore, I think the dispute process should be the same as the other methods.

Therefore please can I suggest an edit to the second to last bullet point:

Change:

MEDIATORS CANNOT MAKE JUDGEMENTS IN CBM DISPUTES. But they can help with smaller problems such as technical difficulties not related to scam attempts.

to:

If there are any reasons dispute during the trade please initially try and resolve with your trade peer in Trader Chat. If you are unable to resolve in trade chat you can open up mediation where your mediator will be able to communicate with both traders and make a suggestion. If one party does not agree to the suggestion the trade will be arbitrated. For more information please see https://bisq.wiki/Dispute_resolution

@huey735
Copy link
Member

huey735 commented Jan 22, 2021

There seems to be an understanding that Mediators can cancel trades. I think that we should make an effor to point out that mediators can only point to Bisq's trade protocol and make suggestions.
Plus, hopefully, with your new tool @jmacxx and a guide written towards traders we could transfer a great deal of mediation to the traders themselves.

@MwithM
Copy link
Contributor

MwithM commented Jan 22, 2021

I think that there is room for arbitration in this trades, even if it's small. Otherwise, indicating traders on how to proceed to payout and filming the unboxing doesn't makes much sense and should be all left in hands of particular terms set by maker.
Traders should know that it's very hard for mediators to find solid evidence in case of fraud and funds might get just sold and burned by burningman after being sent to DAO donation address if arbitration starts.

  • The lack of verifiable actions makes handling CBM disputes much harder. Mediators and arbitrators often won’t have a way to settle real disputes and decide payouts, but will help with technical issues.
  • Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.
  • If a trader rejects a mediation suggestion and opens arbitration, it could lead to lose both trading and deposit funds. Funds will be sent to a Bisq 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction] and, if arbitrator doesn't find a proper payout, sold for BSQ by the burningman and burned.
  • Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.
  • Offer taker agrees to the offer maker's terms and conditions by taking the offer.
  • BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.
  • BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.
  • BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.

I also move maker additional information to the top. I think it's more relevant.

@pazza83
Copy link

pazza83 commented Jan 22, 2021

I have based the following on @m52go's text and included @MwithM suggestions.


Trading using cash-by-mail (CBM) on Bisq requires that you understand the following:

  • BTC buyer should package cash in a tamper-evident cash bag.
  • BTC buyer should film or take high-resolution photos of the cash packaging process with the address & tracking number already affixed to packaging.
  • BTC buyer should send the cash package to the BTC seller with Delivery Confirmation and appropriate Insurance.
  • BTC seller should film the opening of the package, making sure that the tracking number provided by the sender is visible in the video.
  • Offer maker must state any special terms or conditions in the 'Additional Information' field of the payment account.
  • Offer taker agrees to the offer maker's terms and conditions by taking the offer.

CBM trades put the onus to act honestly squarely on both peers.

  • CBM trades have less verifiable actions than other fiat trades. This makes handling dispute much harder.
  • Try to resolve disputes directly with your peer using trader chat. This is your most promising route to solving any CBM dispute.
  • Mediators can consider your case and make a suggestion, but they are NOT guaranteed to help.
  • If a mediator is engaged, and if either peer rejects the mediator's suggestion, both peers' funds will be sent to a Bisq 'donation' address [HYPERLINK:https://bisq.wiki/Arbitration#Time-Locked_Payout_Transaction], and the trade will effectively be completed.
  • If a trader rejects a mediation suggestion and opens arbitration, it could lead to lose both trading and deposit funds.
  • Arbitrators will make a decision based on the evidence provided to them. Therefore, please follow and document the above processes to have evidence in case of dispute. For Cash by Mail trades the Arbitrators decision is final.
  • Reimbursement requests any lost funds resulting from Cash By Mail trades to the Bisq DAO will NOT be considered.
    To be sure you fully understand the requirements of cash-by-mail trades, please see: [https://bisq.wiki/Cash_by_Mail]

If you do not understand these requirements, do not trade using CBM on Bisq.

@ghost
Copy link
Author

ghost commented Jan 23, 2021

@m52go
@pazza83 Looks like too much "wall of text". Also note last few lines got truncated.

image


By comparison here is @MwithM text. Still a lot but I like it better.

image

@pazza83
Copy link

pazza83 commented Jan 23, 2021

Hi @jmacxx

Ok, lets go with @MwithM's text.

I have added a holding page to the wiki that I will update this weekend.

https://bisq.wiki/Cash_by_Mail

@pazza83
Copy link

pazza83 commented Jan 23, 2021

Hi @jmacxx

Please can you let me know the following:

  1. What is the security deposit amount. Is it set any differently from other payment methods?
  2. Is the trade limit 0.25 BTC? This would be my recommendation.
  3. I am assuming aging the same as other accounts that do not require signing?
  4. I am assuming no account signing is required?
  5. I am assuming CBM is available to all currencies. Will it be one currency per CBM payment account. This would be my recommendation.
  6. What is the trade period? My recommendation would be 7 days.

Please can you post a screenshot of what CBM looks like at present when being set up in Bisq payment accounts.

I am assuming:

  • Account owner full name
  • Postal address
  • Currency

@Jakub-CZ
Copy link
Contributor

@pazza83 As I'm in the middle of implementing your "wall of text", here's the screenshot:
image

  • There are only 7 currencies.
  • Trade period is 8 days.

@Jakub-CZ
Copy link
Contributor

See PR #5110.
I went with the longer version. The unintended truncation is resolved.

@pazza83
Copy link

pazza83 commented Jan 24, 2021

Hi @Jakub-CZ

Is it possible to add for more currencies?

The big ones missing are:

  • CNY
  • JPY
  • KRW
  • BRL

It would be great though to not limit it and just let users select their local currency. Not sure the reason for the limitation?

@Jakub-CZ
Copy link
Contributor

I guess so, but that question should be directed at @jmacxx or others.

I had nothing to do with this feature. I just wanted to translate the English texts initially, and only today I got dragged into this :)

@pazza83
Copy link

pazza83 commented Jan 24, 2021

Ok :)

@jmacxx please can you also let me know about #5092 (comment)

Many thanks

@ghost
Copy link
Author

ghost commented Jan 24, 2021

@pazza83

The big ones missing are:
CNY
JPY
KRW
BRL

I went with the list defined in Bisq known as MainFiatCurrencies.

public static List<FiatCurrency> getMainFiatCurrencies() {
    // Top traded currencies
    list.add(new FiatCurrency("USD"));
    list.add(new FiatCurrency("EUR"));
    list.add(new FiatCurrency("GBP"));
    list.add(new FiatCurrency("CAD"));
    list.add(new FiatCurrency("AUD"));
    list.add(new FiatCurrency("RUB"));
    list.add(new FiatCurrency("INR"));

I could add your 4 mentioned currencies to the list.

Or, if you prefer CashByMail to allow all fiat currencies I would change the checkbox grid layout into a combo box since it is a long list (156 currencies).

@pazza83
Copy link

pazza83 commented Jan 24, 2021

@jmacxx

Yes, I think all currencies would be best.

A combo box would be good. A better option would be something that just lets the user select one currency. Would the same setup as used on National Bank Transfer be possible (Select continent > select country)?

@ghost ghost deleted the add_cashbymail3 branch January 24, 2021 16:23
@ghost ghost mentioned this pull request Jan 24, 2021
@pazza83
Copy link

pazza83 commented Jan 25, 2021

Hi the first draft of the Cash by Mail Wiki for Bisq is online

Please share your thoughts.

I am wondering if phone number should also be included at the payment account creation stage so that this can be passed on the the courier. Would Sellers of BTC using cash by mail be happy to share their phone number with the buyer / courier company to facilitate a smooth delivery?

@m52go
Copy link
Contributor

m52go commented Jan 25, 2021

@jmacxx @chimp1984 I don't understand the "contact information such as name or nym" field.

If the goal is to have a name for the mailing address, it could be specified in the postal address field.

Is it intended as a backup means to get in touch, in case trader chat doesn't work? Or is there another reason?

@ghost
Copy link
Author

ghost commented Jan 25, 2021

Hi @m52go. Yes I suppose it could have been just an address field. It is more common to separate name from address though. The user could put anything into the name/nym field and I was trying to highlight that freedom by explicitly mentioning "Nym".

If there are strong reasons for not having that field, let me know, I can remove it.

@pazza83
Copy link

pazza83 commented Jan 25, 2021

I agree with adding the name field. Whilst it could be added in the address field, if a user completed without a name, it could decrease the chances of a successful delivery.

@m52go
Copy link
Contributor

m52go commented Jan 25, 2021

No worries...I was testing it on regtest while editing documentation and was just confused by it.

I suggest one of the following.

  1. Keep the field, make it optional, and change text to "Name or nym envelope should be addressed to (optional)"
  2. Remove the field and change postal address field text to "Postal address (include name or nym package should be addressed to, if desired)"

Maybe (1) would be better if it increases chance of delivery.

@m52go
Copy link
Contributor

m52go commented Jan 25, 2021

Or if it's better not to be optional, that's fine too. I just think specifying that the purpose of the name is for addressing the envelope is important.

EDIT: in this case, text in suggestion 1 above could become:

"Name or nym envelope should be addressed to"

@ghost ghost mentioned this pull request Jan 26, 2021
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 "Cash by mail" as a payment option
7 participants