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.
Generic Checkout V2
Section titled “Generic Checkout V2”Add the checkout question
Section titled “Add the checkout question”- In the questions section, add a CHECKOUT component
- Set
questionId(e.g.,checkout),groupId(signup),required(true)
Configure the Policy Details section
Section titled “Configure the Policy Details section”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
Configure productCardDetails
Section titled “Configure productCardDetails”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”) |
Configure additionalPolicyDetails
Section titled “Configure additionalPolicyDetails”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.
Configure priceBreakdown
Section titled “Configure priceBreakdown”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 |
Configure billing
Section titled “Configure billing”| Field | Purpose | Options |
|---|---|---|
| billingType | What payment frequency options the user can choose from | yearly, monthly, both |
| contractCycle | How often the contract renews | YEARLY, MONTHLY |
Generic Submission
Section titled “Generic Submission”For flows that do not require payment (e.g., lead generation, free consultation):
- Add a SUBMISSION component instead of CHECKOUT
- Configure Policy Details the same way as checkout — the user still sees a summary of their answers
- 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.
Example checkout configuration
Section titled “Example checkout configuration”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
See also
Section titled “See also”- Checkout & Submission Component – technical details on GenericCheckout and GenericSubmission rendering
- Question Types Reference – GENERIC_CHECKOUT_V2 and GENERIC_SUBMISSION specifications
- Architecture Overview – how checkout connects to Stripe and the backend