Skip to content
Ask Otto AI
Help

What is this page?

Test payment flow

Role aware

This page proves the guarded Stripe Payment Element test flow for a student installment: readiness checks, test PaymentIntent request shape, connected-account context, zero Otto fee, Payment Element placeholder, and later webhook and ledger boundaries.

Audience
Student
Current limits
It can only create a Stripe test PaymentIntent when explicit test keys and OTTO_ENABLE_STRIPE_TEST_PAYMENTS=true are configured. It does not mount live payment fields, collect raw card or bank data, move production money, generate receipts, post ledger entries, process webhooks, issue refunds, or reconcile payouts.

Support request boundary

Use Sev2 if test payment creation is blocked after keys are configured, Sev3 if the request shape or connected-account context is unclear, and Sev4 for labels or proof-copy feedback. This panel does not submit a support case.

Sev1: Critical outage or data-risk emergency

Target: 1-hour response, 24/7 paging during pilot

Sev2: Major workflow blocked

Target: 4 business hours

Sev3: Standard product question or non-urgent issue

Target: 1 business day

Sev4: How-to, cosmetic, or future enhancement

Target: 2 business days

These preview controls are placeholders. Real AI answers, search, walkthroughs, and support submission come in later tickets.

Notifications4

Static proof preview

Real notification feeds, delivery, and preferences arrive in a later ticket.

Maya Rivera

Maya Rivera

maya.rivera@student.otto-fixture.test

Switch local proof role

This changes only the local shell proof. Production role changes remain server-validated future work.

Search is a keyboard-focusable skeleton. No real index or permissioned search results are implemented in this ticket.

Student portal

Test payment flow

A guarded local proof of the Stripe Payment Element test flow for the selected student installment.

Lone Star Career Institute - test payment proof

Student · Maya Rivera

Stripe test mode - Payment Element

Payment Element test flow

Create one test PaymentIntent for the selected student installment, then mount Stripe-hosted fields. This page shows the path and the local guardrails before real test keys are added.

October installment

$325.00

Connected account: acct_test_bppe_career_001

Blocked until test keys are configured

Local activation guard

Blocked until test keys are configured

Blocked

Blocking reasons

  • Set OTTO_ENABLE_STRIPE_TEST_PAYMENTS=true before creating test PaymentIntents.
  • A Stripe test secret key is required.
  • A Stripe test publishable key is required.

Warnings

  • Test payouts are still pending, so this screen remains a payment-flow proof until payout readiness is reviewed.
  • Webhook signing is not configured yet; Ticket 085 will own webhook-driven ledger posting.

Server request contract

Test PaymentIntent request

No Otto fee

Method

POST

Endpoint

https://api.stripe.com/v1/payment_intents

Stripe-Account

acct_test_bppe_career_001

Idempotency key

otto:tenant_bppe_career:student-account-october-installment-2026-10-15

FieldValue
amount32500
currencyusd
automatic_payment_methods[enabled]true
statement_descriptor_suffixOCT INSTALLMENT
setup_future_usageoff_session
metadata[tenant_id]tenant_bppe_career
metadata[student_id]student_maya_rivera
metadata[enrollment_id]enrollment_maya_mbc_2026
metadata[payment_option_id]october-installment
metadata[installment_id]installment-1
metadata[otto_fee_cents]0
metadata[blocked_funds]no_title_iv_credit_balance_or_loan_proceeds

Client form placeholder

Stripe-hosted Payment Element

Not mounted
Payment Element will mount here after the server returns a client secret. Publishable key: missing.