PAYMENTS INTEGRATION REQUIREMENTS

Stripe scheduling integration guide

Collect payment before confirming selected events. The intended connection would authorize the required charge before a paid appointment becomes a confirmed reservation.

PROVIDER SETUP GUIDE. This page documents the provider workflow. It does not claim that a Stripe account is connected until authorization and lifecycle tests succeed.

What the Stripe connection is designed to do

For payments workflows, the important job is to authorize the required charge before a paid appointment becomes a confirmed reservation. Collect payment before confirming selected events. A dependable connection must also make authorization, retries, lifecycle changes, and administrator-visible failures understandable.

Stripe-specific integration decisions

Use an authoritative Checkout or PaymentIntent state and stable transaction identifier to reconcile slot reservation, tax, refunds, disputes, and retries.

Verify these provider-specific assumptions against current primary documentation, the exact account edition, administrator policy, and a non-production test. Record the required permission, authoritative identifier, fallback state, and owner for reconnects. The Meetin.gs verification standard explains how change-sensitive provider claims are treated.

Stripe provider review points

  • Use an authoritative checkout or paymentintent state. Turn this provider-specific dependency into an acceptance criterion with a named owner, expected result, and safe fallback.
  • Stable transaction identifier to reconcile slot reservation. Turn this provider-specific dependency into an acceptance criterion with a named owner, expected result, and safe fallback.

Scheduling data and actions in the workflow

The connection should exchange only what the scheduling job requires. For Stripe, review these three data groups before granting access:

  • Price, currency, and payment description. Document its source, destination, owner, and behavior after a cancellation or deletion.
  • Checkout result and provider transaction identifier. Document its source, destination, owner, and behavior after a cancellation or deletion.
  • Booking, refund, and cancellation relationship. Document its source, destination, owner, and behavior after a cancellation or deletion.

Common Stripe scheduling use cases

Reducing unpaid reservations for professional time

This use case should be tested from the organizer's action through the guest-facing result. Include a changed meeting and a failed downstream action, not only a successful new booking.

Offering a deposit for a high-value appointment

This use case should be tested from the organizer's action through the guest-facing result. Include a changed meeting and a failed downstream action, not only a successful new booking.

Linking the refund policy to the booking record

This use case should be tested from the organizer's action through the guest-facing result. Include a changed meeting and a failed downstream action, not only a successful new booking.

Stripe setup and verification checklist

  1. Test success, decline, abandonment, and duplicate submission.Record the expected result and the person responsible when it does not occur.
  2. Publish cancellation, tax, and refund terms before checkout.Record the expected result and the person responsible when it does not occur.
  3. Reconcile booking and provider records with a stable transaction ID.Record the expected result and the person responsible when it does not occur.

Availability, permissions, and limits

Payment, tax, refund, and dispute obligations vary by business and location. Meetin.gs should not confirm the time until payment state is authoritative.

Meetin.gs currently lists this connection as part of its integration architecture. Use the connection request to confirm current production status, supported accounts, scopes, pricing, and rollout timing. This avoids designing a critical workflow around an unverified roadmap item.

Map the Stripe workflow before connecting it.

Bring the trigger, required data, failure path, and desired guest outcome.

Discuss the connection

Stripe in one clear flow

Stripe sends the needed scheduling state to the right system. It keeps the organizer and guest on one record. This prevents a booking change from becoming a silent data mismatch.

Compare this flow with the paid appointment scheduling requirements. Then use the API and webhook help guide to plan retries and recovery.

Simple rule: one booking creates one stable identity. Every later change updates that identity instead of creating a second record.

Stripe lifecycle acceptance criteria

Use a non-production Stripe account and one disposable meeting to prove the full connection. Record provider object identifiers beside the Meetin.gs event or booking identifier so every later change can be traced to the same relationship.

StateStripe expectationFailure to prevent
AuthorizationThe intended account grants only the scopes required to authorize the required charge before a paid appointment becomes a confirmed reservation.A personal, test, or former employee account silently owns production records.
ConfirmationOne provider object is created or updated with the required scheduling data.A retry creates duplicates or exposes fields that the provider does not need.
RescheduleThe original Stripe relationship moves to the new time and preserves identity.Old and new records both appear active.
CancellationThe provider reaches the documented cancelled, refunded, removed, or inactive state.The guest receives stale details or capacity remains blocked.
Connection failureThe booking stays understandable, the failure is visible, and retry is safe.A connected action disappears without an owner or participant-facing fallback.

Provider-specific boundary

Use an authoritative Checkout or PaymentIntent state and stable transaction identifier to reconcile slot reservation, tax, refunds, disputes, and retries. This is the configuration most likely to distinguish a dependable Stripe connection from a generic successful API response.

Minimum data review

Confirm the purpose and retention of price, currency, and payment description, checkout result and provider transaction identifier, and booking, refund, and cancellation relationship. Do not copy free-text responses, calendar descriptions, participant identifiers, or internal links when the stated connection job does not require them.

Stripe integration questions

Provider-specific answers for teams planning a Stripe scheduling connection.

What happens if a Stripe payment succeeds but the booking fails?

This is the state that must never be left unresolved. Reconcile the Stripe payment intent against the meeting record and either issue the booking or refund automatically.

How are refunds handled when a meeting is cancelled?

Define the rule before you take money: full refund inside a stated window, partial or none outside it, and publish the terms beside the paid event rather than only in the confirmation.

Is Stripe Checkout or a custom payment flow better?

Checkout carries less compliance burden because card data never touches your systems. Choose a custom flow only when you have a requirement Checkout genuinely cannot meet.

Before you commit to this connection

Whatever the provider, four checks decide whether a connection is dependable. Test authorization with the identity that will own it in production, one normal confirmation, one reschedule, and one cancellation. Then break it deliberately: revoke access, send a duplicate, and simulate a provider outage.

The meeting must stay visible and manageable even when the connected action fails. Preserve the booking record, show the participant something useful, alert a named owner, and make retry safe. The API and webhook guide covers idempotency and retry design, and the integration directory lists every connection reviewed to the same standard.

A Stripe operator brief

Use an authoritative Checkout or PaymentIntent state and stable transaction identifier to reconcile slot reservation, tax, refunds, disputes, and retries.

Reducing unpaid reservations for professional time needs a named Stripe object, authoritative identifier, permitted data set, expected lifecycle result, and recovery owner before it belongs in a production workflow.

Offering a deposit for a high-value appointment needs a named Stripe object, authoritative identifier, permitted data set, expected lifecycle result, and recovery owner before it belongs in a production workflow.

Linking the refund policy to the booking record needs a named Stripe object, authoritative identifier, permitted data set, expected lifecycle result, and recovery owner before it belongs in a production workflow.

The operator should be able to trace a guest action from Meetin.gs to the exact provider response and back again. That trace is more useful than a green connection badge because it also explains delayed, duplicated, rejected, and cancelled work.