Skip to content

Configure Checkout

The checkout step is where users finalize their purchase. Birdhouse supports two checkout types:

  • Generic Checkout V2 — Use this if the user pays (credit card or SEPA via Stripe). The user sees a payment form, enters their details, and completes the purchase.
  • Generic Submission — Use this if you just collect information without payment (e.g., lead generation, free consultation requests). The user sees a summary and submits their information.
  1. In the questions section, add a CHECKOUT component
  2. Set questionId (e.g., checkout), groupId (signup), required (true)

The Policy Details section (the summary shown to users before they pay) lets users verify their choices. Each entry maps a question answer to a display label.

For example, if you add an entry with key coverageStartDate and label Coverage starts, the user will see “Coverage starts: 1 January 2026” on their checkout screen.

Field Purpose Example
key The questionId to pull the answer from coverageStartDate
label The display label the user sees Coverage starts

Add entries for each piece of information you want displayed:

  • Coverage start date
  • Selected plan
  • Coverage amount
  • Any relevant answers

The productCardDetails section defines the product card shown at the top of checkout. This is what the user sees as a summary of what they are buying.

Field Purpose
title Product name the user sees (e.g., “Pet Insurance”)
description Short product description (e.g., “Comprehensive coverage for your pet”)

Optional extra details shown below the main policy summary. Same format as Policy Details (key/label pairs). Use this for secondary information the user might want to verify.

Controls how the price is displayed to the user:

Field Purpose What the user sees
showMonthly Show monthly price “12.99 EUR / month”
showYearly Show yearly price “155.88 EUR / year”
showTotal Show total amount The full amount due
Field Purpose Options
billingType What payment frequency options the user can choose from yearly, monthly, both
contractCycle How often the contract renews YEARLY, MONTHLY

For flows that do not require payment (e.g., lead generation, free consultation):

  1. Add a SUBMISSION component instead of CHECKOUT
  2. Configure Policy Details the same way as checkout — the user still sees a summary of their answers
  3. No billing or payment configuration needed

The submission step collects the user’s information and creates a record without processing a payment. The user sees a summary screen and clicks “Submit” instead of a payment button.

For a pet insurance checkout:

Policy Details:

key label What the user sees
petType Pet type “Pet type: Dog”
petDateOfBirth Pet date of birth “Pet date of birth: 15 March 2020”
coverageStartDate Coverage starts “Coverage starts: 1 January 2026”

billing:

  • billingType: both (user can choose monthly or yearly)
  • contractCycle: YEARLY (contract renews once a year)

priceBreakdown:

  • showMonthly: true
  • showYearly: true