Skip to main content
The Billing endpoints cover paying the Hi Doctor consultation fee through Stripe Checkout, managing an ongoing plan, and retrieving payment records, invoices and credit notes. Card details are handled by Stripe, and Hi Doctor never sees them. Medicine is not billed here: the pharmacy dispenses it and charges its own price, as described on Pricing. Last reviewed: 2026-11-04

Prerequisites

  • A patient bearer token and X-Brand-Slug: hi-doctor.
  • Checkout needs a complete profile and a submitted questionnaire. An incomplete profile returns PROFILE_INCOMPLETE with missing_fields.
  • Subscription operations need an active plan; see Pricing.

Operations

Boundaries and side effects

  • Checkout status is not a pure read. Polling a paid session can finalize it and create the consultation.
  • Renewal choices are clinical: they go to a doctor for review, and clinical eligibility is enforced.
  • Cancellation takes effect at period end; reactivate when nothing is scheduled returns 409. Stripe failures on cancel or reactivate return 502: read the subscription before retrying.
  • Each portal call can create a new session.
  • Checkout, pending-choice confirmation, early order, cancel, reactivate and portal accept an Idempotency-Key. A successful key proves the operation was stored, not that Stripe settled it.
  • PDFs need Accept: */* (a strict Accept returns 406).
An early order is irreversible. It consumes the period’s early order and starts a renewal consultation. Guards return 400 no_active_subscription or 409 (for example early_order_no_entitled_subscription). Never retry it blindly.