Payments
Charge for bookings via Stripe Checkout. Useful for paid consultations, intro calls with a deposit, or pay-to-book demos.
Quick Start
- Connect Stripe — Settings → Integrations → Stripe → Connect.
- Open an event type and click the Payments tab.
- Toggle Charge for this event type on.
- Set the price and currency (e.g. $50 USD).
- Save → Publish changes.
From now on, the public booking page collects payment via Stripe Checkout before the slot is confirmed.
How It Works
- Booker picks a slot and fills in the confirm form.
- Ascend places a pending hold on the slot (so it doesn't get double-booked while they're paying).
- Booker is redirected to Stripe Checkout.
- On payment success, Stripe webhooks back to Ascend, the booking is confirmed, and the booker lands on the thank-you page.
- On cancellation or timeout, the pending hold expires and the slot becomes bookable again.
The pending-hold timeout defaults to 15 minutes — long enough to complete checkout, short enough that abandoned attempts don't block the slot.
Settings on the Payments Tab
| Setting | What it does |
|---|---|
| Charge for this event type | Master toggle. Off = free, no Checkout step. |
| Price | The amount in the smallest currency unit's display value (e.g. 50.00 for $50). |
| Currency | ISO 4217 code (USD, EUR, GBP, NZD, AUD, …). Stripe must support it on your account. |
| Description | Shown on the Stripe Checkout page and the booker's receipt. Defaults to the event type title. |
| Statement descriptor | Short text on the booker's bank statement (max 22 chars; alphanumeric). |
| Hold timeout (min) | How long the pending-hold lasts. Default 15. |
Connecting Stripe
Stripe is connected at the team level (not per event type), so once connected, every event type can choose to charge.
- Settings → Integrations → Stripe.
- Click Connect with Stripe.
- You're redirected to Stripe's OAuth flow.
- Approve, return to Ascend.
Funds settle into your Stripe account directly — Ascend never holds your money.
Test mode
Hook up your Stripe test-mode account first. Use card number 4242 4242 4242 4242, any future expiry, any CVC.
Refunds
When a booking is cancelled (by the host or the booker via the cancel link), Ascend issues a refund automatically if the cancellation policy allows it.
Cancellation policy
| Policy | What happens on cancel |
|---|---|
| Always refund | Full refund regardless of when the cancel happens. |
| Refund if early | Full refund if cancelled at least N hours before the meeting. After the cutoff, no refund. |
| No refunds | Cancel still works (the slot is freed) but no money goes back. |
Set the policy on the Payments tab. Default is Always refund.
Manual refunds
The host can issue a manual refund from the booking detail sheet (/calendar → click a booking → Refund button). This works even if the policy says "no refunds" — it's host-discretion.
Receipts
Stripe sends an email receipt to the booker automatically (assuming receipts are enabled on your Stripe account). Ascend doesn't generate a separate receipt — Stripe's is the source of truth.
Failed Payments
If Stripe Checkout fails (declined card, abandoned, network error), the pending hold expires and the slot reopens. The booker sees a friendly "Try again" message; no booking is created.
Plan Gating
Paid event types require a Pro plan or higher. On Free / Solo, the Charge for this event type toggle is disabled and a "Coming with Pro" tooltip explains. Upgrading immediately unlocks it without re-publishing.
What's Not Supported (Yet)
- Subscription pricing — Bookings are one-off charges only.
- Multiple price tiers per event type — One price per event type.
- Coupons / promo codes — Not implemented; planned.
- Tax handling — Use Stripe Tax on your Stripe account; Ascend just sends the line item.
- Invoice generation — Receipts only. If you need a formal invoice, use the Invoice feature post-meeting.
Related
- Workflows & Reminders — Wire a "thanks for paying" email
- Connecting Stripe — team-level OAuth (same steps as above)
- Analytics — Revenue per event type