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

Seller unable to confirm payment received #3905

Closed
sqrrm opened this issue Jan 17, 2020 · 2 comments · Fixed by #3922
Closed

Seller unable to confirm payment received #3905

sqrrm opened this issue Jan 17, 2020 · 2 comments · Fixed by #3922
Assignees
Labels
a:bug in:gui is:priority PR or issue marked with this label is up for compensation

Comments

@sqrrm
Copy link
Member

sqrrm commented Jan 17, 2020

Description

Many mediation cases lately are a result of seller not being able to confirm the payment has been received. On most cases the buyer confirms they have pressed ‘payment made’ but for some reason is not showing on the other end.

How to fix

It's hard to reproduce and might be a result of a missed mailbox message. A simple option ask for a resend from the seller side might be enough. Thinking a bit further it would be nice to be able to confirm transmission failures of these messages. Not sure how that could be done though.

I can't think of any other reason that the seller wouldn't see the confirm payment button than a failed message.

@sqrrm sqrrm added the a:bug label Jan 17, 2020
@stejbac
Copy link
Contributor

stejbac commented Jan 17, 2020

That happened to me once in November (as the seller). I tried searching the log for CounterCurrencyTransferStartedMessage and couldn't find anything associated with that trade, so I guess the message was never sent (even though it showed up in the log for other buy & sell trades). Restarting the application didn't help. Unfortunately, I wasn't able to find out if the message had appeared in the buyer's logs anywhere, as they weren't really technical enough to locate and search the logfile, it seems.

@sqrrm sqrrm self-assigned this Jan 20, 2020
@sqrrm
Copy link
Member Author

sqrrm commented Jan 24, 2020

@stejbac I suspect the message got lost somehow but I don't know how. I have a fix that allows the seller to send a refresh request to ask the buyer to send the CounterCurrencyTransferStartedMessage again. It seems to work but I'm not sure if this is the right way to go in the long run. I'll push a PR later to at least avoid this issue as it seems to be happening frequently.

sqrrm added a commit to sqrrm/bisq-desktop that referenced this issue Jan 29, 2020
Trades have been getting stuck in the `Wait for payment` state, perhaps
due to lost mailbox messages, but it's hard to know for sure. There is
currently no way to get out of this state except going to mediation.

With ctrl+R the seller can ask the buyer to refresh the current trade
state and the buyer will resend the
`CounterCurrencyTransferStartedMessage` if they are in the phase
FIAT_SENT.
sqrrm added a commit to sqrrm/bisq-desktop that referenced this issue Jan 29, 2020
A seller can ask to refresh the trade process once every 24 hours. This
step has been a problem causing a lot of mediation lately so this is a
way to ask the buyer to resend the CounterCurrencyTransferStartedMessage

This fixes the problem when a mailbox message was lost. To test the
seller need to not get the first CounterCurrencyTransferStartedMessage
sent by the buyer, for example by letting the seednode drop it instead
of sending to the seller. When button is pressed
- a RefreshTradeStateRequest is sent from seller to buyer
- the buyer receives the RefreshTradeStateRequest and
 - ignores it if it's not in FIAT_SENT phase
 - responds with a CounterCurrencyTransferStartedMessage if in FIAT_SENT
   phase and has already sent a CounterCurrencyTransferStartedMessage
ripcurlx pushed a commit that referenced this issue Feb 4, 2020
* Add keyboard shortcut for trade process refresh, fix #3905

Trades have been getting stuck in the `Wait for payment` state, perhaps
due to lost mailbox messages, but it's hard to know for sure. There is
currently no way to get out of this state except going to mediation.

With ctrl+R the seller can ask the buyer to refresh the current trade
state and the buyer will resend the
`CounterCurrencyTransferStartedMessage` if they are in the phase
FIAT_SENT.

* Disallow more than one trade refresh per day

* Add refresh button for seller step 2, fix #3905

A seller can ask to refresh the trade process once every 24 hours. This
step has been a problem causing a lot of mediation lately so this is a
way to ask the buyer to resend the CounterCurrencyTransferStartedMessage

This fixes the problem when a mailbox message was lost. To test the
seller need to not get the first CounterCurrencyTransferStartedMessage
sent by the buyer, for example by letting the seednode drop it instead
of sending to the seller. When button is pressed
- a RefreshTradeStateRequest is sent from seller to buyer
- the buyer receives the RefreshTradeStateRequest and
 - ignores it if it's not in FIAT_SENT phase
 - responds with a CounterCurrencyTransferStartedMessage if in FIAT_SENT
   phase and has already sent a CounterCurrencyTransferStartedMessage

* Fix codacy remarks

Move incoming message handling method to the right section

* Add refresh button info text

Hide refresh section when not available rather than graying out

Added info text:
Sometimes P2P network messages acknowledging payment are not delivered,
causing trades to get stuck. Hit the button below to make your peer
resend the last message.

* Fix codacy issues
@ripcurlx ripcurlx added the is:priority PR or issue marked with this label is up for compensation label Feb 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:bug in:gui is:priority PR or issue marked with this label is up for compensation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants