Skip to content

TPoS Wrapper

Tap to Pay on Android - accept credit cards, debit cards, Google Pay, and Apple Pay via Stripe alongside Lightning.

Companion App

TPoS Wrapper is a standalone application, not an LNbits extension. It works alongside your LNbits instance.

Posts

https://nostr.com/nevent1qqs2wuwfryhwjmzg64tkvh907x74r979wak8xr53mkhkwtphy648r2gpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtczyrqlcam37hayrr7n43yjyxsc7xd59n9h5e3a4rcyewlkczxgp5stzqcyqqqqqqgwkkndq

https://x.com/lnbits/status/1974218832077054315

Please like/share/subscribe, it's the easiest way to contribute and help get these tools out there.

Getting Started

Follow these steps for a clean installation of the LNbits Stripe Setup.

Requirements

  • LNbits instance version v1.3 or later
  • Verified Stripe account
  • Android device with NFC support
  • Stable internet connection

Installation

  1. Configure LNbits Fiat Provider
    In your LNbits instance, go to Settings → Fiat Provider and add your Stripe Secret Key and Webhook URL.
    Ensure the key has permissions for checkout and payment_intents.

  2. Install the Wrapper TPoS Stripe App (Android)
    Download and install the latest TPoS-Stripe Wrapper APK.

    Download APK

  3. Create a Stripe Terminal Location
    In your Stripe Dashboard create a terminal location for your device.

    Stripe Location Setup

  4. Create an LNbits ACL Token
    In LNbits, go to your wallet’s Access & Control List and create a new ACL Token with the permission fiat.

    LNbits ACL Token

  5. Link TPoS Record to Stripe
    In your LNbits TPoS extension, click the QR icon for your PoS record and add:

    • Stripe Terminal Location ID
    • ACL Token

    TPoS QR Setup

  6. Pair the Android App
    Open the TPoS Wrapper app and scan the QR code generated by your LNbits TPoS record.
    Your device is now ready to accept both Tap-to-Pay and Lightning payments.

Debug Build + Install (ADB)

Use this if you want to build and install a debug APK locally.

Prerequisites

  • Enable Developer Options + USB debugging on your Android device.
  • Install JDK 17 and Android SDK command-line tools.

Linux (Ubuntu) quick setup

bash
sudo apt update
sudo apt install openjdk-17-jdk

Install Android command-line tools and platform packages:

bash
mkdir -p ~/Android/Sdk/cmdline-tools
cd /tmp
curl -o cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
unzip -q cmdline-tools.zip -d ~/Android/Sdk/cmdline-tools
mv ~/Android/Sdk/cmdline-tools/cmdline-tools ~/Android/Sdk/cmdline-tools/latest
~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-36" "build-tools;35.0.0" "platform-tools"
~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --licenses
printf "sdk.dir=%s\n" "$HOME/Android/Sdk" > local.properties

Build + install (debug)

bash
./gradlew :app:assembleDebug
adb devices
adb install -r app/build/outputs/apk/debug/app-debug.apk

Build + install (staging, non-debuggable)

Use this for real Tap-to-Pay while keeping build times close to debug.

bash
./gradlew :app:assembleStaging
adb devices
adb install -r app/build/outputs/apk/staging/app-staging.apk

Usage

  • Create products in LNbits TPoS Extension and assign both Lightning and Stripe payment options.
  • Generate invoices payable with either Bitcoin Lightning or Stripe Tap-to-Pay.
  • Monitor transactions in one unified LNbits dashboard.

Contributing

We welcome contributions to the LNbits Stripe Extension!

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes.
  4. Commit: git commit -m 'feat: Add new feature X'
  5. Push: git push origin feature/your-feature-name
  6. Open a Pull Request.

Please ensure your code adheres to the project's coding standards.

🛍️ Powered by LNbits

LNbits empowers developers and merchants with modular, open-source tools for building Bitcoin-based systems - fast, free, and extendable.

LNbits ShopmyLNbits SaaSLNbits NewsLNbits Extensions


News · Shop · SaaS · Telegram · Released under the MIT License.