Skip to content

Paid WiFi Access

Monetise your guest WiFi by offering paid access tiers. Guests pay via Stripe directly on the captive portal splash page before connecting.

Overview

CaptiFi's Paid WiFi feature lets you charge guests for WiFi access:

  • Guests see pricing options on a branded splash page when they connect
  • Payment is processed via Stripe (Stripe)
  • Access is granted automatically after successful payment
  • Supports Apple Pay, Google Pay, and all major cards

This is ideal for venues like hotels, airports, co-working spaces, event venues, and any location where WiFi has a tangible value.

How It Works

  1. Guest connects to your WiFi network
  2. CaptiFi's Paid WiFi splash page appears with pricing options
  3. Guest selects a plan (e.g., 1 Hour Access for 99p, or 48 Hour Access for £2.99)
  4. Guest enters card details via Stripe (embedded payment form — no redirect)
  5. Payment is processed via Stripe
  6. On success, the guest's device is automatically authenticated with the WiFi controller (UniFi, your network controller, or Omada)
  7. Guest receives WiFi access for the purchased duration

Current Pricing Tiers

The Paid WiFi portal currently offers two access tiers:

PlanDurationPriceDescription
1 Hour Access1 hour99pShort session for quick visits
48 Hour Access48 hours£2.99Extended access for longer stays

Note: Pricing is configured in GBP. The pricing tiers are defined in the Paid WiFi portal component.

Guest Experience

Plan Selection Screen

When a guest connects, they see:

  1. Venue logo and branded colours (using the site's captive portal colour settings)
  2. "Get WiFi Access" heading
  3. Pricing cards for each tier showing:
    • Plan name (e.g., "1 Hour Access")
    • Duration description
    • Price (prominently displayed in blue)
    • Select button
  4. Trust indicators: "Secure payment powered by Stripe" and "Apple Pay, Google Pay, and all major cards accepted"

Payment Screen

After selecting a plan:

  1. Selected plan summary showing duration and price
  2. Stripe Payment Element — a secure, embedded payment form supporting:
    • Credit/debit cards
    • Apple Pay
    • Google Pay
    • Other Stripe-supported payment methods
  3. "Pay & Connect to WiFi" button
  4. Back button to return to plan selection

Connection Screen

After successful payment:

  1. Loading spinner with "Connecting to WiFi..." message
  2. Device is authenticated with the WiFi controller
  3. Guest is redirected to a success page or the URL they were originally trying to access

Technical Details

Payment Processing

  • Uses Stripe for secure payment processing
  • Payments include metadata: site ID, site name, client MAC address, AP MAC address, duration, device type
  • Currency: GBP
  • Payment amounts are in pence (99 = £0.99, 299 = £2.99)

WiFi Authentication

After successful payment, CaptiFi authenticates the guest's device:

Controller TypeAuthentication Method
UniFiGuest is authorised via the UniFi API with the selected duration (converted to minutes)
your network controllerGuest is authorised via the your network controller integration

Guest Log Entry

Each paid access creates a SiteGuestLog entry with:

  • is_paid_access: true
  • payment_status: "succeeded"
  • payment_amount: Amount in pence
  • Payment reference stored for tracking
  • access_duration: Duration in hours
  • access_expires_at: Calculated expiry timestamp
  • client_mac_address: Device MAC for WiFi auth

Payment Return Flow

Stripe uses a redirect-based confirmation flow:

  1. Guest submits payment → Stripe confirms the payment and redirects back to complete WiFi access
  2. CaptiFi verifies the Payment Intent status
  3. If succeeded, the guest is authenticated and a log entry is created
  4. If failed, an error message is displayed

Stripe Configuration

Paid WiFi uses your Stripe credentials configured via environment variables:

VariablePurpose
STRIPE_KEYStripe publishable key (used in frontend JS)
STRIPE_SECRETStripe secret key (used for server-side Payment Intent creation)

Note: Revenue from paid WiFi goes directly to the Stripe account configured in the CaptiFi environment. CaptiFi does not take a commission on paid WiFi transactions.

Splash Page Branding

The Paid WiFi splash page inherits branding from your site settings:

SettingUsage
captive_portal_bg_colorBackground gradient start colour
captive_portal_accent_colorBackground gradient end colour
logo_urlVenue logo displayed at the top
nameSite name used in metadata

The page uses a gradient background with a centred white card containing the payment interface.

Best Practices

  1. Price appropriately — 99p for short sessions and £2-3 for day passes suits most venues
  2. Consider your audience — airports and events can charge more; cafés should keep it low
  3. Hotels — consider including WiFi in room rates and using paid WiFi only for conference/event areas
  4. Events — short-duration passes (1 hour) work well for ticketed events
  5. Signage — display your WiFi name and pricing clearly in-venue so guests know what to expect
  6. Test the flow — go through the payment process yourself to ensure the experience is smooth

Troubleshooting

IssueSolution
Payment form not appearingEnsure STRIPE_KEY environment variable is set correctly
Payment failingCheck Stripe dashboard for error details; verify STRIPE_SECRET is valid
Guest not getting WiFi after paymentCheck the site's network controller connection (UniFi/your network controller)
"Unable to process payment" errorStripe API may be unreachable; check server connectivity
Guest redirected but no accessThe payment return URL must match the original page URL for Stripe redirect to work
Payment succeeded but authentication failedCheck WiFi controller credentials; the guest log will still be created with payment details

Relationship to Other Access Modes

CaptiFi sites can operate in different access modes:

ModeDescriptionGuest Experience
FreeStandard splash page with data captureGuest enters name/email to connect
VoucherCode-based access (see WiFi Vouchers)Guest enters a voucher code to connect
PaidPayment-based accessGuest pays via Stripe to connect

Each site can only be in one access mode at a time. The Paid WiFi portal is a separate component that displays when a site is configured for paid access.

CaptiFi — Guest WiFi Marketing Platform