Progress pill
BTCPay Server Interface

BTCPay Server Default Plugins

Mastering BTC Pay Server

BTCPay Server Default Plugins

  • Default Plugins and Apps
  • Point Of Sale
  • BTCPay Server - Crowdfund
  • BTCPay Server - Point Of Sale
  • BTCPay Server - Pay Button
  • Skill Summary
  • Knowledge assessment

Default Plugins and Apps

BTCPay server comes with a standard set of Plugins (Apps) that can turn BTCPay Server into an e-commerce payment gateway. With the additions of a Point Of sale, Crowdfund platform, and an easy Pay button, BTCPay Server becomes an easy-to-deploy solution.

Point Of Sale

One of the standard Plugins of BTCPay Server is Point of Sale (PoS). With the PoS plugin, a store owner can create a Webshop directly from BTCPay Server; the store owner does not need third-party e-commerce solutions to run a Webshop. The web-based PoS app enables users with brick-and-mortar stores to easily accept Bitcoin, without fees or a third party, directly into their wallet. The PoS can be easily displayed on tablets or other devices that support web browsing. Users can easily create a home screen shortcut to quickly access the web app.

How to create a new Point of Sale

BTCPay Server enables store owners to quickly create a Point of Sale in multiple layouts. BTCPay Server recognizes that not every store is e-commerce, and not every store is a bar or restaurant, and it comes with multiple standard setups for your PoS.
When the Store owner clicks on "Point of Sale" in his left menu bar, BTCPay Server will now ask for a name; this name will be visible in the left menu bar. Click Create to create the PoS.

Update the newly created Point of Sale

After creating a new PoS, the following screen will allow you to update your Point of Sale and add items for your store.
App name
The name given here to your Point of Sale will be visible in the main menu of the BTCPay Server.
Display Title
The public will see the title or name of your store when visiting. BTCPay Server, by default, names your store “Tea shop.” Replace this with your shop's name.

Choose Point of Sale Style

BTCPay Server is capable of displaying its Point Of Sale in multiple ways.
  • Product list
    • A shop view where customers can only purchase 1 product at a time.
  • Product list with a cart.
    • A shop view where customers can purchase multiple items at once and get a shopping cart overview to the right of their screen.
  • Keypad only
    • No product list, just a keypad for direct invoicing.
  • Print display (Printable product list with QR)
    • If you cannot always display your product list digitally, you need an "offline" solution for products; BTCPay Server has a print display to function as an Offline store.

Point Of Sale Style - Product list

Point Of Sale Style - Product list + Cart

Point Of Sale Style - Keypad only

Point Of Sale Style - Print display

Currency

The Store owner may set a different currency for their Point of Sale than their overall set default currency. The store’s default currency will automatically populate this field.

Description

Tell the world about your shop; what are you selling, and for how much? Everything explaining your shop goes here.

Products

When a Point of Sale gets created, a standard BTCPay Server adds a couple of items to the shop for reference. Click the Edit button on any of the standard items to understand each possible option for an item better.
Creating a new product in your store consists of the following fields;
  • Title
  • Price (fixed, minimum, or custom)
  • Image URL
  • Description
  • Inventory
  • ID
  • Buy Button Text.
  • Enable/Disable
Once the store owner has populated all the new product fields, click on save, and you will notice that the Products section in the Point of Sale is now getting populated. Always save in the top right corner of your screen to prevent the possibility that store owners might lose their progress when adding products.
Store owners may also use the "Raw Editor" to configure their products. The raw editor requires a basic understanding of JSON structures.

Checkout

BTCPay Server allows for small PoS-specific checkout customization. The Store owner can set the "Buy for x" text or request specific customer data by adding it to the forms.

Tips

Only some shops need the option for Tips on their sales. Store owners may toggle this on or off as they see fit for their shop. If the shop uses tips toggled on, the store owner can set the text in the field for the tips they like. BTCPay Server tips work based on a percentage amount. Store owners can add multiple percentages, separated by commas.

Discounts

As a store owner, you might want to give the customer a custom discount at checkout; the toggle for Discounts becomes available at your shop’s checkout. However, this is strongly advised against using self-checkout systems.

Custom Payments

When the Custom Payments option is toggled on, the customer can input a set price equal to or above the original invoice generated by the store.

Additional Options

After setting everything up for your Point of Sale, some extra options are left. Store owners can easily embed their PoS through an Iframe or embed a payment button linking to a specific store item. To stylize the just-created PoS store, owners may add custom CSS at the bottom of the additional options.

Delete this app

If the store owner wants to entirely delete the Point of Sale from their BTCPay Server, at the bottom of updating the PoS, store owners can click on the Delete this app button to fully destroy their PoS app. When clicking "Delete this app", BTCPay Server will ask for confirmation by typing DELETE and confirming by clicking the Delete button. After deleting, the store owner returns to the BTCPay Server dashboard.

BTCPay Server - Crowdfund

Next to the Point of Sale plugin, BTCPay Server has the option to create a crowdfund. Just like any other Crowdfund platform, store owners can set a goal, create perks for contributions, and customize it to their needs.

How to set up a new crowdfund

Click on the Crowdfund plugin through the main menu on the left of your BTCPay Server, below the Plugin section. BTCPay Server will now request a name for the Crowdfund; this name will also be displayed in the Left menu bar.

Update the newly created Crowdfund

Once the App is given a name, its next screen will be to update the App to have context.

App Name

The name given to your Crowdfund will be visible in the main menu of BTCPay Server.

Display Title

The title is given to the Crowdfund for the public.

Tagline

Give the crowdfund a one-liner to recognize what the fundraiser is about.

Featured Image URL

Every crowdfund has its main image, the one banner that you recognize directly. This image can be stored on your server if you have Administrative rights. Admins can upload under the BTCPay Server settings - Files. When you are a Store owner, the image must be uploaded to the web through a third-party host (for example, Imgur).

Make Crowdfund Public

This toggle makes your Crowdfund go public and thus visible to the outside world. For testing purposes or to see if your theme is applied correctly, keep this set to OFF for the period of building the crowdfund.

Description

Tell the world about your Crowdfund. What are you raising for? Everything explaining your crowdfund goes here.

Crowdfund Goal

Set a target goal for what the fundraiser should earn for the project and what currency the goal should be denominated in. Ensure that if your goals are set between dates, include these target and end dates underneath Goals in crowdfund.

Perks

Perks can significantly enhance your crowdfunding efforts. This is because perks give people a way to participate in your campaign. They tap into both selfish and benevolent motivations. And they let you access your supporters’ spending, not just their philanthropic purse -- you can guess which is more significant.
Creating a new perk consists of the following fields.
  • Title
  • Price (fixed, minimum, or custom)
  • Image URL
  • Description
  • Inventory
  • ID
  • Buy Button Text.
  • Enable/Disable
Once the store owner has populated all the fields of the new perk, click on save, and you will notice that the Perks section in the Crowdfunds is now getting populated.

BTCPay Server - Point Of Sale

Contributions

Store owners can choose how to display Perks, how they are sorted, or even rank them against other perks. However, once the Crowdfunds goals are reached, store owners might want to stop donations flowing toward this fundraiser. Therefore, he can toggle on "Do not allow additional contributions after reaching the target". This will prevent the Crowdfund from accepting donations.
Crowdfund behavior
Crowdfund’s standard only counts invoices created with Crowdfund towards the goal. However, there might be instances where the Store owner wants all invoices made in this store to count towards the crowdfund.

Additional Options for customization

BTCpay Server offers a couple of extra customizations. Add sounds, animations, or even discussion threads to the Crowdfund. Store owners may also modify the look and feel of the Crowdfund by entering their own custom CSS.

Delete this app

If the store owner wants to fully delete the Crowdfund from their BTCPay Server, at the bottom of updating the Crowdfund, they can click on the “Delete this app” button to completely remove their Crowdfund app. When clicking "Delete this app", BTCPay Server will ask for confirmation by typing DELETE and confirming by clicking the Delete button. After deleting, the store owner returns to the BTCPay Server dashboard.

BTCPay Server - Pay Button

Easily embeddable HTML and highly customizable payment buttons allow store owners to receive tips and donations. In the left menu bar of BTCPay Server, below the Plugins section, store owners can click the “Pay Button” and click Enable to create a Payment button.

General Settings

Within the General Settings for the Payment Button, store owners can set
  • Standard price
  • Default Currency
  • Default Payment method
    • Use store default
    • BTC on-chain
    • BTC Off-chain (Lightning)
    • BTC Off-chain (LNURL-pay)
  • Checkout description
  • Order ID

Display options

BTCPay Server’s Pay button can be configured to suit different styles. Buttons can have a fixed or custom amount, which is either displayed with a slider or plus and minus toggles.

Use Modal

When creating the payment button, store owners can choose its behavior when a customer clicks it and show it in a modal or as a new page.
!?Note!?
Warning: The Payment button should only be used for tips and donations
Using the payment button for e-commerce integrations is not recommended since the user can modify order-relevant information. For e-commerce, you should use our Greenfield API. If this store processes commercial transactions, we recommend creating a separate store before using the payment button.

Customize Pay button Text

By default, BTCPay Server’s payment button states "Pay With BTCPay". Store owners can set this text to their desire and change the BTCPay Server logo to their own. Set the text by using the "Pay Button Text" and paste the image URL underneath the "Pay Button Image URL".
Image size
The size of the image in the button can only be set to three defaults.
  • 146x40px
  • 168x46px
  • 209x57px

Button Type

BTCPay Server knows of three states for the Payment Button.
  • Fixed Amount
    • The previous set price is in the button’s general settings.
  • Custom Amount
    • BTCPay Server’s Pay button has + and - toggles to set a custom price.
    • When using the custom amount, BTCPay Server will request a Min, Max, and how gradually it should increase.
    • Buttons may be set to “Use Simple input style “.This takes away the +/- Toggles.
    • Fit button inline where button and toggles appear inline.
  • Slider
    • Similar to the custom amount, however, it is visually different as it has a slider instead of the +/- toggles.
    • When using the Slider, BTCPay Server will request a Min, Max, and how gradually it should increase.
!?Note!?
The Payment button can be deleted at the top of the warning description.

Payment Notifications

Server IPN (Instant Payment Notification) is designed for webhooks and can be configured with a URL to post-purchase data.

Email Notifications

Whenever a payment has been made, BTCPay Server can notify the store owner.

Browser redirect

When the customer completes the purchase, he will be redirected to this link if set by the store owner.

Advanced Payment Button Options

Specify additional query string parameters that should be appended to the checkout page once the invoice is created. For example, lang=da-DK would load the checkout page in Danish by default.

Use App as Endpoint

You can directly link the payment button to an item in one of the PoS or Crowdfund apps that you have used before.
Store owners can click on the dropdown menu and select their desired App; once the App is selected, the store owner can add the item that needs to be linked.

Generated Code

As BTCPay Server’s Payment button is an easily embeddable HTML, BTCPay Server shows the generated code to copy into a website at the bottom after configuring the Payment button.
Store owners can copy the generated code into their website, and the Payment button from BTCPay Server is directly active on their website.

Skill Summary

In this section, you learned:
  • How to use BTCPay Server’s integrated PoS plugin to create a custom store easily
  • How to use BTCPay Server’s integrated Crowdfund plugin to create a custom crowdfund app easily
  • Generating code for a custom pay button using the Pay Button plugin

Knowledge assessment

KA Review

What are the three built-in plugins that come standard with BTCPay Server? In a few words, describe how each can be used.