Legal // WITHDRAWAL
Right of Withdrawal
The instruction on the right of withdrawal follows a statutory model and has to be adapted to this business; it is therefore not written here. What is written here is how the purchase runs today, because that determines which instruction is the right one.
01Instruction on the right of withdrawal
⚠ MISSING — OPERATOR INPUT REQUIRED
Statutory instruction
Required entries:
- The complete instruction under Art. 246a section 1 (2) EGBGB using the statutory model wording
- The address, email address and, where applicable, fax number to which a withdrawal is declared
- When the withdrawal period starts and ends for a subscription of digital services
- The model withdrawal form of Annex 2 to Art. 246a EGBGB
Do not paste a remembered version of the model text. It only protects the operator when it is complete and matches the contract actually being concluded.
02How the purchase runs today
This matters for the instruction, so it is spelled out. The checkout is a Stripe Checkout session that the code creates with the plan, the email address and metadata. Nothing in that session collects a consent, and no consent is stored anywhere: there is no confirmation that performance should start immediately and no acknowledgement that the right of withdrawal lapses once it has. The frontend shows no order review page and no checkbox for terms or for this instruction. At the same time the service starts at once: when Stripe reports the completed checkout, the key is issued or upgraded immediately and can be used straight away.
⚠ MISSING — OPERATOR INPUT REQUIRED
Decisions that follow from this
Required entries:
- Whether a consent to immediate performance is to be collected, and where it would be recorded
- How the pre-contractual information is presented before the order is placed
- Whether the order button has to be labelled under section 312j (3) BGB, given that the button is Stripe's
Every one of these needs a change in the code, not only a text on this page.
Verified in:
backend/app/services/stripe_service.py · frontend/static/js/onboarding.js
03Consequences of a withdrawal
⚠ MISSING — OPERATOR INPUT REQUIRED
Refund and compensation
Required entries:
- How and within which period the payment is refunded
- Whether compensation is claimed for the period already used, and how it is calculated
- The means of payment used for the refund
- What happens to the API key on withdrawal
04Exclusions
⚠ MISSING — OPERATOR INPUT REQUIRED
When the right does not apply
Required entries:
- Whether contracts with consumers are concluded at all; the offer addresses developers, but nothing in the code restricts it to businesses
- Whether an exclusion under section 356 (5) BGB is intended, and how the required consent is recorded