LN-Zap / zap-android

Zap Wallet - Native android lightning wallet for node operators focused on user experience and ease of use ⚡️
MIT License
165 stars 49 forks source link

Payment failed: UNIMPLEMENTED HTTP status code 404 #317

Open jaonoctus opened 3 years ago

jaonoctus commented 3 years ago

I could not pay an invoice on the app.

Description

UNIMPLEMENTED: HTTP status 404 invalid content-type: null
trailers:
Metadata(:status=404,server=nginx,content-length=0,referrer-policy=same-origin,x-xss-protection=1;mode=block;x-content-type-options=DENY,strict-transport-security=max-age=31536000)

Steps to Reproduce

  1. Access BTCPayServer via IPV4.
  2. Services > LND (gRPC server).
  3. Scan the QR Code on ZapWallet.
  4. Attempt to pay an invoice.

image

Environment

michaelWuensch commented 3 years ago

Hi there, thanks for the report. You can help me track it down with some more information. Before you send, what is displayed for the fee? Is it a fixed value like 2 sats, or does it display something with the word "max"?

jaonoctus commented 3 years ago

@michaelWuensch n/A

image

michaelWuensch commented 3 years ago

Hm, okay this means, the UNIMPLEMENTED error is caused by the SendPaymentV2 RPC call. "UNIMPLEMENTED" normally comes if the RPC call is not available/implemented on the lnd node you are running. The strange thing is that lnd 0.11.0-beta includes the SendPaymentV2. I tested it on regtest with 0.11.0 nodes and it worked. I do not have (or ever used) a BTCPay setup though.

The change for the payment flow was made in the last update (Zap Android 0.4.0-beta) where I replaced the deprecated functions.

Updating your LND node might help. If you don't want to do that, I would suggest to downgrade to Zap Android v0.3.8-beta version from the github releases in the meantime. (https://github.com/LN-Zap/zap-android/releases) Once you have updated your lnd, you can give the newest version of Zap Android a try again.

So far I have only heard of this issue with LND v0.11.0. If anyone with a newer version has the same issue, please write a comment here.

jaonoctus commented 3 years ago

@michaelWuensch the downgrade worked here. Thanks!

I'll try to upgrade the btcpayserver and LND later

BabyDino commented 3 years ago

I have the same issue as described.

Zap version: 0.5.1-beta, build 3031 lnd version: 0.13.1-beta BTCPayServer: 1.2.3.0

I do use a reverse proxy in front of BTCPayServer (nginx), could this be the issue?

Dayruke commented 3 years ago

Issue is present with BTCPAYServer v1.2.4.0 (Zap & LND same as BabyDino)

Confirmed working with Zap v0.3.8-beta

michaelWuensch commented 3 years ago

Hey guys, now that 3 of you are affected, I can at least see a pattern. It seems to be definetly related to using Zap with BTCPAYServer. But unfortunately I still have no clue so far why this happens.

varunagym commented 2 years ago

Can confirm with BTCPayServer v1.3.7.0 and LND 0.14.1-beta. Don't know if it's related but it was impossible to connect the wallet with qr code from btcpay UI. Had to copy/paste config. Also, receiving payments (generating invoices) works just fine. It's the sending part that refuses to work.

varunagym commented 2 years ago

To add: just tried with iPhone Zap Wallet and it worked flawlessly (from setup to sending/receiving). So, this is probably related to Android implementation and not anything on server side. My hunch is that is has something to do with not properly fetching the configuration. It fails through QR code, it also fails with config link and only sort of works via full config copy/paste. What I mean is, the first time it just keeps showing yellow icon, but when the app is restarted it goes green. Except for some reason it shows onion icon, when I'm running on clear net.

Let me know if I can provide more info or try more things. Just know that I'm a noob running btc and ln nodes.