Creating a Checkout

Last updated: April 9, 2026

A checkout is the core donation form in WeGive — the primary way donors interact with your organization to make one-time or recurring gifts. This guide walks you through creating a checkout and configuring every available option.

Getting Started

To create a new checkout, navigate to Elements → Checkouts in the dashboard and click the create button. The only required field to get started is a Name, which serves as your internal identifier for the checkout. Once saved, you'll land on the checkout detail view where you can configure everything else.

After creation, WeGive automatically sets some defaults for you: all recurring frequencies are enabled, suggested amounts are empty (ready for you to fill in), and the recurring conversion options are pre-configured with monthly and yearly prompts.

Checkout Editor Tabs

The checkout editor is organized into tabs, each controlling a different aspect of the donor experience. Here's what each tab does and the options available within it.

Name

This tab controls the checkout's internal name and its URL slug. The slug becomes part of the public URL donors use to access the checkout, following the pattern:

https://{app-domain}/{organization-slug}/checkout/{checkout-slug}

Choose a slug that's clean and memorable — it will appear in links you share and embed codes you distribute.

Type

The Type tab defines the fundamental behavior of the checkout.

Transaction type determines whether this checkout collects tax-deductible donations or non-deductible service revenue. The is_tax_deductible flag controls how receipts are generated.

Currency — if your organization has multi-currency support enabled (supports_multiple_currencies), you can configure the checkout to accept donations in different currencies.

Informational content — toggle this on to display an informational banner card alongside the checkout form. This is where you add context, images, and messaging to tell donors what their gift supports.

Appearance

The Appearance tab handles the visual presentation of your checkout.

First step title — customize the header text donors see when the checkout loads.

Informational card — configure the banner image, description text, and whether the card appears on desktop and/or mobile. You can also control whether the organization logo appears as the card's avatar via info_card_avatar_use_organization_logo.

Navigation — the enable_nav toggle controls whether a back button and login options are visible. show_view_profile and show_give_again determine what donors see after completing a donation.

Custom footer text — add a message at the bottom of the checkout form.

Confetti — enable show_confetti to trigger a celebration animation when a donation completes.

Suggested Amounts

Configure pre-set donation amounts that appear as quick-select options for donors.

One-time amounts — set up to six suggested amounts (suggested_amount_1 through suggested_amount_6), each with an optional description. You can also use the suggested_amounts JSON array for dynamic amounts. Control how many display with number_of_suggested_amounts.

Recurring amounts — separately configure suggested amounts for recurring donors (recurring_suggested_amount_1 through recurring_suggested_amount_6) with their own count setting.

AI suggested amounts — enable ai_suggested_amounts to let WeGive generate smart amount suggestions.

Display type — the suggested_amount_display_type setting controls the visual layout. Options are list (a minimal dropdown) or grid (amounts shown as selectable buttons/cards).

Amount labels — customize the label text with suggested_amount_label.

Minimum amounts — set minimum_one_time_amount and minimum_recurring_amount to enforce floor values.

Fixed amounts — use preset_amount_type and preset_amount to lock the checkout to a specific donation amount.

Allow cents — the allow_cents toggle determines whether donors can enter cent values.

Single Page

This tab toggles between two layout modes.

Multi-step (default) — guides donors through the process across multiple screens, one step at a time. This provides a more structured, focused experience.

Single page — displays the entire checkout on one screen. When enabled, you get additional layout controls:

  • single_page_column_order — whether the info card appears to the left or right of the form

  • single_page_checkout_width — width of the checkout form column (default: 700px)

  • single_page_info_width — width of the info card column (default: 480px)

  • single_page_gap_width — spacing between the two columns (default: 48px)

  • single_page_show_information / single_page_show_information_mobile — control info card visibility per device type

  • show_single_page_mobile_information_as_step — on mobile, show the info card as its own step instead of inline

Note: You can override this setting per-link by adding ?single_page=true or ?single_page=false to the checkout URL.

Recurring

The Recurring tab controls everything related to recurring donations.

Allow one-time / Allow recurring — toggle allow_one_time and allow_recurring to control which donation types are available. You can enable one or both.

Default frequency — set which frequency is pre-selected when a donor opens the checkout.

Allowed frequencies — granularly enable or disable each frequency option: daily, weekly, monthly, bimonthly (every 2 months), quarterly, semiannual, yearly, and 1st-and-15th.

Frequency display type — choose between list (dropdown) or grid (buttons) layout for frequency selection.

Allow frequency change — the allow_frequency_change toggle controls whether donors can select their own frequency or are locked to the default.

Recurring conversion step — this is a powerful feature for converting one-time donors to recurring givers. When conversion_step is enabled, donors who make a one-time gift are shown a prompt asking them to convert it to a recurring donation.

  • recurring_conversion_options — an array defining what conversion choices to present. Each option has a percentage (suggested increase) and frequency (monthly, yearly, etc.).

  • place_conversion — controls when the prompt appears: 0 shows it before payment processing, 1 shows it after.

  • enforce_recurring_prompt_max_amount and recurring_prompt_max_amount — cap the conversion prompt so it only appears for donations under a certain amount.

Recurring program — use recurring_giving_program and recurring_giving_program_description to brand your recurring giving with a program name and description.

End datesallow_end_date lets donors set when their recurring plan should stop. force_recurring_plan_end_date and recurring_plan_end_date let you enforce a specific end date from the organization side.

Designations

Designations let donors choose which fund or purpose their gift supports.

Enable designations — toggle designation on to show fund selection options.

Designation setting — controls the selection behavior. Options range from no donor choice (fixed fund), to letting donors freely choose from available funds.

Require designation — when require_designation is on, donors must select a fund before completing their donation.

Allow multi-designations — enable allow_multi_designations to let donors split a single donation across multiple funds. This requires that the organization also has enable_fund_allocations turned on.

Designation list — instead of manually selecting which funds appear on each checkout, you can create a Designation List (a reusable group of funds) and attach it via designation_list_id. This is especially useful when multiple checkouts should offer the same set of fund options.

Default fund — set a fund_id as the fallback fund when no designation is selected.

Display typedesignation_display_type supports list (dropdown) or grid (visual cards) layout.

Display label — customize the label text donors see with designation_label.

Force showforce_show_designation ensures the designation selector is always visible, even if only one fund is available.

URL pre-selection — you can pre-select designations via URL parameters: ?designation=123 for a single fund, ?designation_code=ABC by code, or ?designations=123,456 for multiple funds.

Tribute

Tribute gifts let donors dedicate a donation in honor or memory of someone.

When enabled on the Tribute tab, donors can provide:

  • Tribute name — the person being honored or remembered

  • Tribute message — an optional personal message

  • Tribute email — an optional email address for sending a notification

When a tribute email is provided, WeGive automatically sends a notification email via Mailgun, as long as the organization's "Tribute Made" triggered message is set to Live.

For recurring donations with tribute details, every subsequent transaction inherits the same tribute information, and the notification email is sent with each installment.

Payment Methods

This tab controls which payment methods donors can use.

  • Credit card (credit_card) — standard card payments

  • ACH / Bank transfer (ach) — direct bank account debits

  • Bank login (bank_login) — bank account connection via login

  • Apple Pay (apple_pay) — available on supported devices/browsers

  • Google Pay (google_pay) — available on supported devices/browsers

  • PayPal (enable_paypal) — PayPal integration

  • Stripe Link (link) — Stripe's one-click payment

  • Crypto (crypto) — cryptocurrency donations

  • Pre-Authorized Debit (pad) — for Canadian bank debits

Each method is a simple boolean toggle — enable or disable as needed based on your organization's payment processing setup.

Fees

The Fees tab controls how processing fees are handled.

  • Fee pass (fee_pass) — enable to give donors the option to cover processing fees

  • Default to covered (default_to_covered) — pre-check the fee coverage option

  • Require fee cover (require_fee_cover) — force donors to cover fees (no opt-out)

  • Customize fee cover amount (customize_fee_cover_amount) — allow custom fee amounts

  • Show savings (show_savings) — display how much the organization saves when fees are covered

  • Tipping (tipping) — enable a tipping option

Donation Rules

Configure limits and restrictions on the checkout.

Total donation limit — enable total_limit and set total_limit_count to cap the total number of successful donations the checkout will accept. Once the limit is reached, the checkout stops accepting new donations. This is useful for limited campaigns or matching gift drives.

Donor limit — enable donor_limit and set donor_limit_count to limit how many unique donors can give through this checkout.

Verificationrequire_verification adds a donor verification step before the donation processes.

Guest checkoutenable_guest allows donors to give without creating an account. guest_checkout_only forces all donors into guest mode.

Company donationscompany_donations enables giving as a company/organization rather than an individual.

Anonymous donationsanonymous_donations lets donors choose to give anonymously.

Custom Questions

Add custom data collection fields to your checkout.

Custom questions are attached to the checkout and displayed in a configurable order. Key settings:

  • Place questions (place_questions) — controls whether questions appear before or after payment confirmation

  • Ask questions again (ask_questions_again) — if a returning donor has already answered, this controls whether they're prompted again

  • Question step title (question_step_title) — customize the heading for the questions section

Questions are stored via a polymorphic customQuestions relationship, so the same question framework is reusable across different checkout instances.

Thank You

Customize the post-donation experience.

  • Headline and description (thank_you_headline, thank_you_description) — the main message donors see after completing their gift

  • Video (thank_you_video_link) — embed a YouTube thank-you video. Enable autoplay_thank_you_video for automatic playback.

  • Redirect (thank_you_redirect, thank_you_redirect_url) — send donors to an external URL after the donation completes instead of showing the default thank-you screen

  • Receipt customization (receipt_title, receipt_description) — customize the donation receipt text

  • Confirmation text (confirmation_header_text, confirmation_button_text) — customize the final confirmation step messaging

Donor Information Collection

Beyond the tabs above, the checkout has several settings for what donor information to collect.

Nameask_for_name prompts for the donor's name. only_ask_for_name_when_unknown skips the prompt if the donor is already identified. name_required makes the field mandatory.

Billing addressask_full_billing_address collects the complete billing address (not just zip code).

Mailing addressask_for_mailing_address adds a mailing address field. ask_for_mailing_address_before_confirmation controls placement, only_ask_for_mailing_address_when_unknown skips it for known donors, and mailing_address_required makes it mandatory.

Details updateask_for_details_update prompts returning donors to update their information. ask_for_details_update_before_confirmation controls when this prompt appears.

Additional profilesallow_additional_company_profiles and allow_additional_individual_profiles let donors add secondary profiles during checkout.

Sharing and Implementing Your Checkout

Once configured, WeGive provides multiple ways to share your checkout with donors via the Implement Button:

Direct link — a copyable URL you can share anywhere (email, social media, text messages).

Embed code — an HTML snippet for embedding the checkout directly into your website.

Pop-up — a code snippet that triggers the checkout as a pop-up overlay on your site.

QR code — automatically generated alongside the URL for print materials and in-person events.

You can also append query parameters to customize the experience per-link:

  • ?campaign=123 — associate the donation with a specific campaign

  • ?designation=456 — pre-select a fund

  • ?single_page=true — override the layout mode

Preview and Test Modes

Before going live, use the built-in preview and test modes:

  • Preview mode — renders the checkout with a /preview URL path and ?preview=true parameter so you can see how it looks without processing real donations

  • Test mode — uses a /test URL path with ?preview=true, allowing you to walk through the full flow with test data

A/B Testing

WeGive supports A/B testing checkouts to optimize conversion rates.

Create an A/B test by selecting two or more checkout variants and assigning each a traffic percentage. All variants share a single test URL that splits incoming traffic according to your specified percentages.

Requirements for a valid test: at least two checkout variants, percentages that add up to 100%, and each variant must use a unique checkout. You can optionally configure email notifications triggered by a specific date or a performance threshold.

Checkout Analytics

After your checkout is live, the checkout detail view provides analytics including:

  • KPI metrics via the checkout dashboard

  • Flow chart data showing donor progression through each step

  • Session tracking with detailed records of each donor interaction

  • Conversion data for one-time to recurring upgrades

These analytics are powered by the CheckoutSession model, which records every donor interaction with the checkout — including which steps they completed, whether they used single-page or multi-step layout, and the outcome.