Purchases3 min read

Payment Gateways: Stripe

Last updated April 3, 2026

Overview

This guide explains how to connect Stripe to Off The Couch in Purchases > Payment Settings so you can accept payments.

Fig. 1 - The Payment gateways tab within Payment Settings.
Fig. 1 - The Payment gateways tab within Payment Settings.

Requirements

Before starting, make sure you have:

  • An active Stripe account
  • Access to the Stripe Dashboard
  • Access to the Payment Gateway settings in Offthecouch.io

Step 1: Locate Your Stripe API Keys

Stripe uses API keys to authorize Offthecouch.io to process payments on your behalf.

  1. Log in to the Stripe Dashboard
  2. Navigate to Developers > API keys

You will see two sets of keys:

Test Keys

Used for testing payments. No real money is charged.

  • Publishable key (starts with pk_test_)
  • Secret key (starts with sk_test_)

Live Keys

Fig. 2 - The fields for Live credential where you input the keys.
Fig. 2 - The fields for Live credential where you input the keys.

Used for real customer payments.

  • Publishable key (starts with pk_live_)
  • Secret key (starts with sk_live_)

Enter the keys into the matching fields in our platform:

  • Publishable key > Publishable key field
  • Secret key > Secret key field

Do not enter live keys until testing is complete.


Step 2: Create the Required Stripe Webhook

Webhooks allow Stripe to notify Off The Couch when a payment changes status. This is required for payments to update correctly.

Fig. 3 - Webhooks for Stripe. Think of webhooks like a delivery person ringing your doorbell when a package arrives. It notifies you when there is something new without needing to on.
Fig. 3 - Webhooks for Stripe. Think of webhooks like a delivery person ringing your doorbell when a package arrives. It notifies you when there is something new without needing to on.

Webhook Setup

  1. In Stripe, go to Developers > Webhooks
  2. Click Add endpoint
  3. Enter the following endpoint URL:
https://api.offthecouch.io/stripe-webhook
  1. Under Events to listen to, select:
  2. payment_intent > Select all events
  3. Save the webhook

Step 3: Add the Webhook Secret

Stripe provides a signing secret for each webhook. This is used to verify that payment events are coming from Stripe.

  1. Click the webhook you just created
  2. Locate the Signing secret (starts with whsec_)
  3. Copy the value
  4. Paste it into the Webhook Secret field in Offthecouch.io

Step 4: Customer Management Settings

Fig. 4 - Settings in Customer management that can be toggled.
Fig. 4 - Settings in Customer management that can be toggled.

Enable the following option: Automatically create a customer in Stripe and link customers to payments

  • Another toggle will appear, enable "Enable saved payment methods" to allow card storage.

With this feature toggled on, you will have access to the following:

  1. Saved card selection - When processing payments, staff can choose from a customer's previously saved credit cards instead of entering new card details every time.
  2. Default card auto-selection - The system automatically selects the customer's default card when they are selected for a booking or transaction, streamlining the checkout process.
  3. Save card option - When processing a payment with a new card, staff can opt to save the card for future use (when enabled in payment settings).
  4. Consistent experience - The stored payment methods feature works identically across: Bookings, Calendar, and Transaction page.

Step 5: Payment Description

The description appears in the Stripe Dashboard and on customer statements.

Example:

Booking for [Customer First Name] [Customer Last Name]
  • Maximum length: 500 characters
  • Dynamic variables are supported

Use a clear description so customers can recognize the charge.


Step 6: Test the Integration

Before enabling live payments:

  1. Enter Test API keys
  2. Complete a test payment using Stripe test card numbers
  3. Confirm the payment status updates correctly in Offthecouch.io

Once testing is successful, replace test keys with Live API keys.


Setup Checklist

  • Stripe account created
  • Test API keys added
  • Webhook created
  • Webhook secret added
  • Customer auto-creation enabled
  • Test payment completed successfully
  • Live API keys added

User flows

Processing a payment with a saved card

  1. Select a customer for the booking/transaction
  2. If the customer has saved cards, a "Stored cards" dropdown appears next to payment options
  3. The customer's default card is automatically selected
  4. A card preview shows the selected card's brand, last 4 digits, and expiry
  5. Complete the payment - no need to enter card details

Saving a new card for future use

  1. Select a customer for the booking/transaction
  2. Choose "Use a new card" from the stored cards dropdown
  3. Enter the new card details in the Stripe form
  4. Toggle "Save this card for future payments"
  5. Complete the payment - the card is saved for future use

Reference