Skip to content

Commit

Permalink
Point of Sale (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
kaloudis committed Feb 13, 2023
1 parent 3564ef1 commit c75ac34
Show file tree
Hide file tree
Showing 12 changed files with 102 additions and 2 deletions.
43 changes: 43 additions & 0 deletions docs/pos/checkout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---

---

import pos1 from '../../static/img/pos/pos-1.png';
import pos2 from '../../static/img/pos/pos-2.png';
import pos3 from '../../static/img/pos/pos-3.png';
import pos4 from '../../static/img/pos/pos-4.png';

# Checking out with Zeus POS

*In order to accept bitcoin payments, we will ring up orders on Square just like a typical transaction, but we will use Square’s Other Payments functionality to send bitcoin related payments to Zeus.*

# On the Square Terminal

Step 1: Create and complete tab. Create a tab as you usually would (“New Sale” > add all items). Proceed to the following steps when the tab is complete and the patron is ready to pay.

[*Note: this tutorial assumes you want to reconcile all your tips on the Square Terminal. To do so you must add the tip as a line item on the Square Terminal (like Auto Gratuity) and have the tips disabled in the Zeus POS. To allow customers to set their tips in Zeus and and are OK with reconciling tips afterwards, leave tips enabled in the Zeus POS settings.*]

Step 2: Request gratuity. When the patron says they would like to pay in Bitcoin, ask them what they would like to tip

Step 3: Add gratuity using “Auto Gratuity.” Add the requested tip amount using the “Auto Gratuity” feature on the “New Sale” page. Type in the amount, hit the “+” on the right side of the number pad; this will add the tip amount to the column on the right hand side of the screen. Then hit “Add to check” in the bottom right corner of the screen.

Step 4: Close tab in Square by exporting payment to Zeus. Once Auto Gratuity is added, hit “Pay” on the bottom right of the screen (directly above the blue “Send” button). On the next page, scroll down and hit “More” at the bottom of the menu of options. On the next page, hit “Other Payment Types,” and then type “Zeus” , “BTC” , or “Bitcoin” (case does not matter). This will send the transaction over to Zeus, so your work on the square terminal is done.

# In the Zeus app

Step 5: Open up Zeus App. It is the only app on the leftmost home screen.

Step 6: Navigate to “Orders” page. The app should default open up to this page, but if it does not, navigate to the home page. Then, hit the calculator icon on the top right of the home page.

<img src={pos1} style={{width: 400}} />

Step 7: Select order. Click the appropriate order. Confirm details. Hit “Pay”

<img src={pos2} style={{width: 400}} />
<img src={pos3} style={{width: 400}} />

Step 8: Display QR code. Show patron the QR code. If there are issues, it is likely on there end, so some patience might be required while they iterate. If issues persist, scroll to the bottom of the screen, and ask the patron whether they want to pay with “Lightning” or “On-chain.” Depending on their answer, select one of the options at the very bottom of the screen and a new QR code will appear.

![POS screenshot 4](../../static/img/pos/pos-4.png)

Step 9: Confirmation. Once the patron says the payment went through, that’s it! You’re done! The order should appear under the “Paid” tab shortly!
39 changes: 39 additions & 0 deletions docs/pos/setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---

---

import posSetup1 from '../../static/img/pos/pos-setup-1.png';
import posSetup2 from '../../static/img/pos/pos-setup-2.png';
import posSetup3 from '../../static/img/pos/pos-setup-3.png';

# Setting up Zeus point of sale (Square)

Currently the Zeus point of sale only supports merchants who process their payments with Square.

## Revealing the Point of Sale settings

The Point of Sale section of the app and its settings are hidden away. To reveal the Point of Sale settings, go to the Settings view and press on the Zeus version number 5 times.

<img src={posSetup1} style={{width: 400}} />

Once the easter egg sequence is triggered the Point of Sale settings will appear between the Display and About panes. Note to proceed to POS settings, you must have a fiat currency set. This currency must match the currency used on your Square Terminal or you will have reconciliation problems.

<img src={posSetup2} style={{width: 400}} />

## Point of Sale settings overview

Two fields are required to connect to your Square terminal: Square Access token and Square Location ID.

To get your Access token follow the instructions in the section here labeled [Get a personal access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-a-personal-access-token)

To get your Location ID, visit the Square developer dashboard, and retrieve your location ID from the tab labeled `Locations`. It's a 13 character alphanumeric all-caps string.

<img src={posSetup3} style={{width: 400}} />

**Merchant name**: This optional, but adds your merchant to the memo on your Lightning invoice memos.

**Confirmation preferences**: As a merchant you have the option to select '0-conf' or '1-conf' for on-chain payment confirmation, or disable them entirely by selecting 'LN only'.

**Disable tips**: Zeus can prompt the user to leave a tip (it can even be denominated in the currency of the user's choosing) but you may want to disable tips. Tips marked in Zeus *cannot* be reconciled back to the Square terminal. Merchants that don't want the extra reconciliation work can disable tips in Zeus and adds tip or auto-gratuity as a line item on the Square terminal.

**Developer mode**: Toggle this is you are testing against Square's sandbox.
6 changes: 6 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ const config = {
position: 'left',
label: 'For Users',
},
{
type: 'doc',
docId: 'pos/setup',
position: 'left',
label: 'Point of Sale',
},
{
type: 'doc',
docId: 'contribute/how-you-can-contribute',
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,18 @@ const sidebars = {
'for-users/using-zeus/channels',
],
},
{
type: 'category',
label: 'Using the Zeus point of sale',
link: {
type: 'generated-index',
},
collapsed: true,
items: [
'pos/setup',
'pos/checkout',
],
}
],
contribute: [
'contribute/how-you-can-contribute', 'contribute/code', 'contribute/design', 'contribute/write', 'contribute/translate',
Expand Down
Binary file added static/img/pos/pos-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/pos/pos-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/pos/pos-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/pos/pos-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/pos/pos-setup-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/pos/pos-setup-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/pos/pos-setup-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c75ac34

Please sign in to comment.