getAlby / lightning-browser-extension

The Bitcoin Lightning Browser extension that connects to different wallet interfaces and brings deep lightning integration to the web
https://getalby.com
MIT License
524 stars 192 forks source link

[Feature] Add a few merchant useful features #3159

Open ffrediani opened 1 month ago

ffrediani commented 1 month ago

Feature description

When merchants use Alby web version on mobile devices to receive from customers (e.g: in a restaurant or small shop) it may be interesting to have an operating mode when the employee is able to generate an invoice, check it was paid, but it unable to see accumulated funds. In order to withdraw funds the merchant would be required to enter a PIN, password or 2FA.

Describe the solution

Add an operating mode that would allow usages by merchants by locking some information that can be seen on the dashboard and asking for PIN, password or 2FA when withdrawing funds.

Describe alternatives

No response

Additional context

No response

Are you working on this?

No

rolznz commented 1 month ago

Hi, thanks for your feedback!

We have an experimental PoS app which can be shared with employees without them having access to payments or the wallet balance: https://pos.albylabs.com/

Please let us know if this would be something you'd like developed further (e.g. with fiat support and other features)

ffrediani commented 1 month ago

Hi @rolznz Thanks for the reply.

Cool that you have it on the radar and is already working on it. One useful thing I mentioned in another issue is to have the ability to enter the fiat currency amount and get it automatically converted to satoshis before generating the invoice.

I guess it may not be ready yet, but I was not able to see anything in the Profile settings and also on the shopping cart.

Also I didn't fully understand where do I get the wallet URL to enter there. I was able to connect using the Browser Extension but that may not be the case if one is using a tablet of a mobile phone.

Regarding the overall PoS concept it may have its specific usage, but what I mentioned above it a little simpler that doesn't require shopping cart and items added beforehand.

Finally a recent history of the last confirmed transactions (expired after a configured time) may be useful to validate last payments.

rolznz commented 1 month ago

Hi @ffrediani

It uses Nostr Wallet Connect to connect to your wallet. So it should work on mobile and web.

We have an existing issue for fiat support: https://github.com/getAlby/pos/issues/4

There's no need to use the shopping cart - you can just enter any amount and create an invoice. Is there any reason why you couldn't do this?

Thanks!

ffrediani commented 1 month ago

Hi rolznz

No, I said the contrary, that in many usages the shopping cart may be unnecessary. I was trying to simply it and focus on the main points I mentioned in the first message which is allow the employee to generate an invoice, validate it was paid, see recent historic but not the accumulated one.

Regarding the wallet URL I don't get where I extract it from either my Browser Extension or getably.com in order to enter in the PoS version and hand over the mobile device to an employee. I don't use Nostr Wallet Connect. Is there any way to extract that URL from getalby.com or Browser Extension ?

rolznz commented 1 month ago

Hi @ffrediani

Inside the PoS on the top left there's a hamburger menu. You can click the "Share with a co-worker" option there and they can scan the QR code.

ffrediani commented 1 month ago

Yes, that is after I have logged into the PoS with my Alby Browser extension in my Desktop, but I didn't get where I can find the wallet URL from either the getalby.com or Browser Extension without having to login in to the PoS in the Desktop.

rolznz commented 1 month ago

@ffrediani you can simply copy the link and send it to your other devices or any employees via whatever channel you like (message, email, etc.) so that all devices can run the same PoS

ffrediani commented 1 month ago

Sorry Roland I still don't get it. Which link ? From where ? Are you talking about the Alby Page URL or another ? If so which one ?

rolznz commented 1 month ago

@ffrediani

Open https://pos.albylabs.com/ and it should remember your wallet. Then you can just copy the URL from your browser (or hamburger menu -> share with a coworker -> copy the URL) and send it to all your devices.

ffrediani commented 1 month ago

Ok, so at least one time I must login using my wallet, from a Desktop using the Browser Extention in order to get the URL to pass over to other devices ?

rolznz commented 1 month ago

@ffrediani yes, but it's not using the browser extension - it's using Nostr Wallet Connect to connect to your Alby Account. NWC enables you to access your wallet from any device without the need for the Alby browser extension.

ffrediani commented 1 month ago

Isn't there any way to not depend or need the Nostr Wallet for that ? I guess many merchants will not be interested in Nostr and only on Alby for receiving their payments so the doubt if to use something either from getalby.com or the Browser Extension in order to be able to use the PoS interface.

rolznz commented 1 month ago

@ffrediani it's just a communication protocol that allows for permissioned access to a wallet on all devices. Merchants don't even need to know it's powered by Nostr.

Without this protocol it's very difficult to do the permissioned access you are looking for.

ffrediani commented 1 month ago

Fine, but the point is simplicity. Merchants not needing to deal with yet another application for receiving payments.

As for now if they have the getalby.com installed they can already receive payments in a very simple way. What I am asking is for a way to be able to generate such URL from inside getalby.com web interface, pass over to the PoS devices to be used and not having to deal with NWC at all.

reneaaron commented 1 month ago

@ffrediani I think this is pretty much how this app works, I've recorded a video on how this process looks like:

  1. Login to getalby.com
  2. Visit pos.albylabs.com
  3. Allow this app to request invoices, etc
  4. Share the URL with coworkers

Screencast from 2024-05-23 20:13:56.webm

NWC is just the underlying protocol used, users will not even need to know how exactly that works.

ffrediani commented 1 month ago

Hi @reneaaron Thanks for the time to record the video. I see know how to extract the URL to share with the devices.

ffrediani commented 1 month ago

Back to the main point and my first message of this Feature Request I think one the main points to add to the PoS interface is the ability to enter the amount in the local currency (as also in getalby.com interface).

Another thing that could be useful in certain situations is the employee or person operating the PoS to be able to check the last few transactions, in the case something happens and it is not possible to confirm it straight after it was paid (due to intermittent connection problems for example). To make it useful for its propose a maximum time the person can see the transaction history could be configured by the manager beforehand in the getalby interface.

rolznz commented 1 month ago

@ffrediani thanks for your suggestions! the "maximum time" would be difficult, but at least in the PoS app itself we could show only recent transactions. I doubt many employees would fork the code just to try to retrieve the full transaction list (we probably will not be able to implement such detailed permission handling)

ffrediani commented 1 month ago

Thanks for the reply @rolznz Perhaps then a fixed maximum time (15 - 30 minutes) helps on situations where is not possible to confirm payment immediately for whatever reason, doesn't need to call the manager to validate and does not delay client departure.