Documentation menu

TransactKit-Litev1.0.0

TransactKit-Lite overview

Understand TransactKit-Lite's one-time Stripe payment scope, local projection, ownership boundary, and first steps.

Updated

What TransactKit-Lite provides

TransactKit-Lite is an MIT-licensed Spring Boot foundation for Stripe-hosted one-time payments. It creates Checkout Sessions in payment mode, supports minimal Stripe Customer operations, tracks application payment state, creates full or partial refunds, and synchronizes supported Stripe events through verified webhooks.

TransactKit-Lite v1.0.0 baseline
AreaVersion or support
Releasev1.0.0
Java25
Spring Boot4.1.1
Stripe Java SDKstripe-java 33.4.2
Pinned Stripe API2026-08-26.dahlia
DatabasesIn-memory H2 by default; environment-configured MySQL
LicenseMIT

Included capabilities

  • Stripe-hosted Checkout Sessions in payment mode.
  • Optional Stripe Customer creation and retrieval.
  • One local logical Payment per stable businessReference.
  • Reusable open Checkout Sessions and replaceable expired or failed attempts.
  • Full, partial, and multiple partial refunds against the stored PaymentIntent.
  • Raw-body Stripe signature verification and durable webhook event claims.
  • H2/MySQL persistence with Flyway migrations and Hibernate validation.
  • Spring ProblemDetail errors and Jakarta Validation.
  • Browser API tester, Postman collection, offline tests, and optional stripe-mock contract tests.
  • Repository context for developers and coding agents in AGENTS.md, ARCHITECTURE.md, AI_RULES.md, and AGENT_CONTRIBUTING.md.

Local run without Stripe credentials

The application starts on port 8080 without a .env file. Flyway initializes an in-memory H2 database in MySQL compatibility mode, Hibernate validates the schema, and the browser tester is available at http://localhost:8080/api-test/index.html.

Without STRIPE_SECRET_KEY or STRIPE_WEBHOOK_SECRET, Stripe-dependent endpoints return a controlled 503 ProblemDetail. The configuration endpoint and browser tester still work, and no fake credential is substituted.

Stripe authority and local state

Stripe remains authoritative for Customers, Checkout Sessions, PaymentIntents, and Refunds. TransactKit-Lite stores an application-focused projection so the host application can connect a business reference to the latest Checkout attempt and observe payment and cumulative refund status.

State ownership
OwnerState
StripeCustomer, Checkout Session, PaymentIntent, Refund, hosted payment page, and payment-method data
TransactKit-LitePayment business reference, latest Checkout attempt and Stripe IDs, amount/currency, payment status, cumulative successful refunds, refund projection, and webhook processing record
Host applicationAuthenticated user, order ownership, authorization, fulfillment, reconciliation, rate limits, monitoring, and deployment policy

Security and production boundary

Checkout is Stripe-hosted, so TransactKit-Lite does not accept or store card numbers, CVCs, or raw payment credentials. It does verify Stripe webhook signatures.

Customer, Checkout, Payment, and Refund APIs are intentionally unauthenticated in the boilerplate. Before production, the host application must add authentication, authorization, resource ownership, refund policy, rate limiting, HTTPS, secret management, monitoring, database backups, and fulfillment controls.

Outside the Lite scope

  • Subscriptions and recurring billing.
  • Product and Price catalog management.
  • Invoices and Billing Portal workflows.
  • Stripe Tax management, Connect, and Terminal.
  • Authentication, queues, caches, and deployment infrastructure.

Next steps