Garage Door OS Docs
Invoices & Payments

Stripe Payments

Connect Stripe, payment links, ACH, and Connect payouts.
6 min read

Stripe Payments

Overview

Stripe is ServiceFlow’s primary payment processor for customer-facing card payments, ACH bank debits, payment links, and (when enabled) Stripe Connect for employee payouts. After you connect Stripe, customers can pay invoices and deposits from the customer portal, and staff can generate one-click payment links from the office app.
Stripe and Helcim are mutually exclusive for new customer checkouts—connecting Helcim switches the active card processor, but Stripe keys are retained and Stripe Connect employee payouts still use Stripe when enabled.

How to access

SurfacePath
Payment settingsSettings → Payments (/settings/payments)
Stripe configuration tabSettings → Payments → Stripe Configuration (/settings/payments?tab=configuration)
Payment links (list)Payments → Payment Links (/payments/links)
Payment links (generator)Settings → Payments → Payment Links tab (/settings/payments?tab=payment-links)
Employee payouts (Connect)Settings → Payments → Employee Payouts (/settings/payments?tab=employee-payouts) — visible when Connect is enabled
Administrators or users with business settings and financial permissions configure payments.

What you can do today

  • Connect a Stripe account with secret, publishable, and optional webhook keys
  • Accept credit and debit cards in the customer portal and via payment links
  • Enable ACH Direct Debit (US bank account) with lower processing fees
  • Enable Affirm buy-now-pay-later when Stripe is the active processor (see Affirm Financing)
  • Configure Stripe Terminal readers for in-person card present payments
  • Generate and manage payment links tied to invoices or custom amounts
  • Enable Stripe Connect for direct transfers and commission advances to employees
  • Set currency, company display name, and supported payment method types

Prerequisites

Setup path: Settings → Payments → Stripe Configuration (/settings/payments?tab=configuration)
Before payments work end-to-end:
  1. A Stripe account (test or live) with API keys from dashboard.stripe.com
  2. Publishable and secret keys entered and saved in ServiceFlow
  3. Webhook secret (recommended) so payment completion updates invoices automatically — configure a Stripe webhook pointing at your API’s Stripe webhook endpoint
  4. For ACH: enable ACH Direct Debit and Financial Connections in the Stripe Dashboard, then toggle Enable ACH Bank Transfers in ServiceFlow
  5. For Connect / employee payouts: enable Connect in the Stripe Dashboard, then enable Connect in ServiceFlow (see Employee Payouts)
  6. For customer checkout: customer portal must be reachable and at least one processor (Stripe or Helcim) fully configured

Step-by-step

1. Connect Stripe

  1. Go to Settings → Payments → Stripe Configuration.
  2. Enter your Secret Key (sk_test_… or sk_live_…) and Publishable Key (pk_test_… or pk_live_…).
  3. Optionally enter your Webhook Secret (whsec_…) from a Stripe webhook subscription.
  4. Choose Currency and Payment method types (cards, US bank account, etc.).
  5. Click Save. Secret keys are stored securely; the form shows a “Saved” tag when keys are on file.

2. Configure webhooks in Stripe

  1. In Stripe Dashboard → Developers → Webhooks, add an endpoint for your ServiceFlow API.
  2. Subscribe to payment-related events (e.g. checkout.session.completed, payment_intent.succeeded).
  3. Copy the signing secret into ServiceFlow’s Webhook Secret field and save.

3. Enable ACH (optional)

  1. In Stripe Dashboard, enable ACH Direct Debit and Financial Connections.
  2. In ServiceFlow, toggle Enable ACH Bank Transfers and save.
  3. Customers will see bank transfer as an option in the customer portal and on payment links that allow ACH.

4. Enable Affirm (optional)

  1. Enable Affirm under Stripe Dashboard → Settings → Payment methods.
  2. In ServiceFlow, toggle Enable Affirm financing and set a minimum amount (default $50).
  3. See Affirm Financing for customer surfaces and Affirm webhook setup.

5. Stripe Connect (optional)

  1. Enable Connect in your Stripe Dashboard → Settings → Connect.
  2. In ServiceFlow Stripe settings, review Connect Status and optionally add a Connect Webhook Secret.
  3. Open Settings → Payments → Employee Payouts to enable Connect, manage advances, and send transfers — detailed in Employee Payouts.

6. Create payment links

From settings:
  1. Go to Settings → Payments → Payment Links.
  2. Link an invoice (or enter amount), choose card / ACH / both, set expiration if needed.
  3. Copy the link or send via email/SMS from the generator.
From the payment links list:
  1. Go to Payments → Payment Links (/payments/links).
  2. View active links, create new ones, or open the generator modal.
Payment links also appear on invoice detail pages and in send-invoice flows when a processor is configured.

Current limitations

  • Only one active card processor at a time — Helcim replaces Stripe for new customer checkouts when connected
  • Affirm is Stripe-only; Helcim-active businesses do not show Affirm
  • ACH settlement is not instant; bank debits follow Stripe’s ACH timeline
  • Terminal requires compatible Stripe hardware and a configured terminal location ID
  • Connect employee payouts require each employee to complete Stripe Connect onboarding
  • Platform SaaS billing for your ServiceFlow subscription is separate from your business’s customer payment keys

Roadmap

  • Broader payment method support as Stripe and ServiceFlow integrations expand
  • Deeper mobile field payment parity for all Stripe payment modes
  • Enhanced reporting tying Stripe payouts to job and commission records

Related features