TypeScript (NextJS) Kiosk Demo

NOTE: This is not yet released

This is a demonstration Spring Boot app to show how BitPay can be used in the
context of a retail kiosk. It utilizes the the pos facade and with a simple
configuration file you can customize the posData fields that are sent to
BitPay. This app uses Liquibase to manage the database schema and by default
uses an embedded H2 database to make it easy to start.

📘

Note

If you'd like to utilize Instant Payment Notifications (IPN), you will need to either run the application somewhere publicly available, or use a tool such as ngrok to allow public traffic to tunnel to your local machine.

Prerequisites

  • Node.js >= 18
  • BitPay Account

Download

You can download or clone the project from GitHub.

Setup

Generate Test Token

  1. Log into https://test.bitpay.com/dashboard
  2. Go to Payment Tools
  3. Click on API Tokens
  4. Click the Add New Token button
  5. Enter a label (this is just for your reference)
  6. Click the Add Token button
  7. Copy the value of the Token field from the Information section

Update Configuration

  1. Copy the token generated above
  2. Copy .env.example to .env and update the values
  3. Copy application-example.yaml to application.yaml and update as necessary
  4. Update the other values in the configuration - see the project README

Run the Application

Run the following command

npm install
npm run migrate
npm run dev

View the Application

You should now be able to visit a browser at http://localhost:3000 or the port that you configured.