# PaperTiger v1.1.1 - Table of Contents

> A stateful mock Stripe server for testing Elixir applications

## GUIDES

- [README](readme.md)

- Examples
  - [Getting Started with PaperTiger](getting_started.md)

- Changelog
  - [Changelog](changelog.md)

## Modules

- [PaperTiger.Adapters.StripityStripe](PaperTiger.Adapters.StripityStripe.md): Syncs Stripe data from strippity_stripe database tables.
- [PaperTiger.AutomaticTax](PaperTiger.AutomaticTax.md): Deterministic Stripe Tax helpers for PaperTiger's local test surface.
- [PaperTiger.BalanceTransactionHelper](PaperTiger.BalanceTransactionHelper.md): Helper functions for creating balance transactions.
- [PaperTiger.BillingEngine](PaperTiger.BillingEngine.md): Simulates Stripe's subscription billing lifecycle.
- [PaperTiger.Bootstrap](PaperTiger.Bootstrap.md): Bootstrap a worker to handle sync after start up.

- [PaperTiger.ChaosCoordinator](PaperTiger.ChaosCoordinator.md): Unified chaos testing infrastructure for PaperTiger.
- [PaperTiger.ChaosHelpers](PaperTiger.ChaosHelpers.md): Test helpers for chaos testing with PaperTiger.
- [PaperTiger.ChargeHelper](PaperTiger.ChargeHelper.md): Creates Charge objects from PaymentIntents.
- [PaperTiger.Connect](PaperTiger.Connect.md): Request-scoped helpers for Stripe Connect behavior.
- [PaperTiger.DataSource](PaperTiger.DataSource.md): Behaviour for an external data source that can preload PaperTiger stores.
- [PaperTiger.Hydrator](PaperTiger.Hydrator.md): Expands nested object references based on `expand[]` query parameters.
- [PaperTiger.Initializer](PaperTiger.Initializer.md): Loads initial data into PaperTiger stores on startup.
- [PaperTiger.List](PaperTiger.List.md): Handles Stripe-style pagination for list endpoints.
- [PaperTiger.ListFilters](PaperTiger.ListFilters.md): Shared helpers for Stripe-style list endpoint filtering.
- [PaperTiger.MandateHelper](PaperTiger.MandateHelper.md): Builds and stores Mandate objects for successful intent flows.

- [PaperTiger.Plug.APIChaos](PaperTiger.Plug.APIChaos.md): Plug middleware that injects chaos into API requests.
- [PaperTiger.Search](PaperTiger.Search.md): Shared Stripe-style search support.
- [PaperTiger.Store](PaperTiger.Store.md): Shared behavior for all ETS-backed resource stores.
- [PaperTiger.StripityStripeHackney](PaperTiger.StripityStripeHackney.md): HTTP module for stripity_stripe that enables PaperTiger sandbox isolation.
- [PaperTiger.SyncAdapter](PaperTiger.SyncAdapter.md): Behavior for syncing Stripe data into PaperTiger stores.
- [PaperTiger.TelemetryHandler](PaperTiger.TelemetryHandler.md): Handles telemetry events and creates Stripe events + delivers webhooks.
- [PaperTiger.UserAdapter](PaperTiger.UserAdapter.md): Behavior for resolving user information from billing customers.
- [PaperTiger.UserAdapters.AutoDiscover](PaperTiger.UserAdapters.AutoDiscover.md): Auto-discovers user schema patterns and extracts user information.

- Public API
  - [PaperTiger](PaperTiger.md): PaperTiger - A stateful mock Stripe server for testing.

- Resources
  - [PaperTiger.Resources.Account](PaperTiger.Resources.Account.md): Handles legacy Connect Account endpoints.
  - [PaperTiger.Resources.AccountLink](PaperTiger.Resources.AccountLink.md): Handles Connect Account Link creation.
  - [PaperTiger.Resources.ApplicationFee](PaperTiger.Resources.ApplicationFee.md): Handles Application Fee resource endpoints.
  - [PaperTiger.Resources.ApplicationFeeRefund](PaperTiger.Resources.ApplicationFeeRefund.md): Handles Application Fee Refund endpoints nested under Application Fees.

  - [PaperTiger.Resources.BalanceTransaction](PaperTiger.Resources.BalanceTransaction.md): Handles BalanceTransaction resource endpoints.
  - [PaperTiger.Resources.BankAccount](PaperTiger.Resources.BankAccount.md): Handles BankAccount resource endpoints.
  - [PaperTiger.Resources.BillingPortalConfiguration](PaperTiger.Resources.BillingPortalConfiguration.md): Handles Billing Portal Configuration resource endpoints.

  - [PaperTiger.Resources.BillingPortalSession](PaperTiger.Resources.BillingPortalSession.md): Handles Billing Portal Session creation and deterministic browser redirect.

  - [PaperTiger.Resources.Card](PaperTiger.Resources.Card.md): Handles Card resource endpoints.
  - [PaperTiger.Resources.CashBalance](PaperTiger.Resources.CashBalance.md): Handles Customer Cash Balance endpoints.

  - [PaperTiger.Resources.Charge](PaperTiger.Resources.Charge.md): Handles Charge resource endpoints.
  - [PaperTiger.Resources.CheckoutSession](PaperTiger.Resources.CheckoutSession.md): Handles Checkout Session resource endpoints.
  - [PaperTiger.Resources.ConfirmationToken](PaperTiger.Resources.ConfirmationToken.md): Handles ConfirmationToken retrieval and test-helper creation.

  - [PaperTiger.Resources.Coupon](PaperTiger.Resources.Coupon.md): Handles Coupon resource endpoints.
  - [PaperTiger.Resources.CreditNote](PaperTiger.Resources.CreditNote.md): Handles Credit Note resource endpoints.

  - [PaperTiger.Resources.Customer](PaperTiger.Resources.Customer.md): Handles Customer resource endpoints.
  - [PaperTiger.Resources.CustomerBalanceTransaction](PaperTiger.Resources.CustomerBalanceTransaction.md): Handles nested Customer Balance Transaction endpoints.

  - [PaperTiger.Resources.CustomerSession](PaperTiger.Resources.CustomerSession.md): Handles Customer Session creation.

  - [PaperTiger.Resources.Dispute](PaperTiger.Resources.Dispute.md): Handles Dispute resource endpoints.
  - [PaperTiger.Resources.Event](PaperTiger.Resources.Event.md): Handles Event resource endpoints.
  - [PaperTiger.Resources.Invoice](PaperTiger.Resources.Invoice.md): Handles Invoice resource endpoints.
  - [PaperTiger.Resources.InvoiceItem](PaperTiger.Resources.InvoiceItem.md): Handles InvoiceItem resource endpoints.
  - [PaperTiger.Resources.Mandate](PaperTiger.Resources.Mandate.md): Handles Mandate resource endpoints.

  - [PaperTiger.Resources.PaymentIntent](PaperTiger.Resources.PaymentIntent.md): Handles PaymentIntent resource endpoints.
  - [PaperTiger.Resources.PaymentLink](PaperTiger.Resources.PaymentLink.md): Handles Payment Link resource endpoints and deterministic hosted browser flow.

  - [PaperTiger.Resources.PaymentMethod](PaperTiger.Resources.PaymentMethod.md): Handles PaymentMethod resource endpoints.
  - [PaperTiger.Resources.PaymentMethodConfiguration](PaperTiger.Resources.PaymentMethodConfiguration.md): Handles PaymentMethodConfiguration resource endpoints.

  - [PaperTiger.Resources.PaymentMethodDomain](PaperTiger.Resources.PaymentMethodDomain.md): Handles PaymentMethodDomain resource endpoints.

  - [PaperTiger.Resources.Payout](PaperTiger.Resources.Payout.md): Handles Payout resource endpoints.
  - [PaperTiger.Resources.Plan](PaperTiger.Resources.Plan.md): Handles Plan resource endpoints.
  - [PaperTiger.Resources.Price](PaperTiger.Resources.Price.md): Handles Price resource endpoints.
  - [PaperTiger.Resources.Product](PaperTiger.Resources.Product.md): Handles Product resource endpoints.
  - [PaperTiger.Resources.PromotionCode](PaperTiger.Resources.PromotionCode.md): Handles Promotion Code resource endpoints.

  - [PaperTiger.Resources.Refund](PaperTiger.Resources.Refund.md): Handles Refund resource endpoints.
  - [PaperTiger.Resources.Review](PaperTiger.Resources.Review.md): Handles Review resource endpoints.
  - [PaperTiger.Resources.SetupAttempt](PaperTiger.Resources.SetupAttempt.md): Handles SetupAttempt resource endpoints.
  - [PaperTiger.Resources.SetupIntent](PaperTiger.Resources.SetupIntent.md): Handles SetupIntent resource endpoints.
  - [PaperTiger.Resources.Source](PaperTiger.Resources.Source.md): Handles Source resource endpoints.
  - [PaperTiger.Resources.Subscription](PaperTiger.Resources.Subscription.md): Handles Subscription resource endpoints.
  - [PaperTiger.Resources.SubscriptionItem](PaperTiger.Resources.SubscriptionItem.md): Handles Subscription Item resource endpoints.
  - [PaperTiger.Resources.SubscriptionSchedule](PaperTiger.Resources.SubscriptionSchedule.md): Handles SubscriptionSchedule resource endpoints.
  - [PaperTiger.Resources.TaxRate](PaperTiger.Resources.TaxRate.md): Handles TaxRate resource endpoints.
  - [PaperTiger.Resources.Token](PaperTiger.Resources.Token.md): Handles Token resource endpoints.
  - [PaperTiger.Resources.Topup](PaperTiger.Resources.Topup.md): Handles Topup resource endpoints.
  - [PaperTiger.Resources.Transfer](PaperTiger.Resources.Transfer.md): Handles Connect Transfer and Transfer Reversal endpoints.

  - [PaperTiger.Resources.Webhook](PaperTiger.Resources.Webhook.md): Handles Webhook Endpoint resource endpoints.

- Storage
  - [PaperTiger.Store.Accounts](PaperTiger.Store.Accounts.md): ETS-backed storage for Connect Account resources.

  - [PaperTiger.Store.ApplicationFeeRefunds](PaperTiger.Store.ApplicationFeeRefunds.md): ETS-backed storage for Application Fee Refund resources.

  - [PaperTiger.Store.ApplicationFees](PaperTiger.Store.ApplicationFees.md): ETS-backed storage for Application Fee resources.
  - [PaperTiger.Store.BalanceTransactions](PaperTiger.Store.BalanceTransactions.md): ETS-backed storage for BalanceTransaction resources.
  - [PaperTiger.Store.BankAccounts](PaperTiger.Store.BankAccounts.md): ETS-backed storage for BankAccount resources.
  - [PaperTiger.Store.Cards](PaperTiger.Store.Cards.md): ETS-backed storage for Card resources.
  - [PaperTiger.Store.Charges](PaperTiger.Store.Charges.md): ETS-backed storage for Charge resources.
  - [PaperTiger.Store.CheckoutSessions](PaperTiger.Store.CheckoutSessions.md): ETS-backed storage for Checkout Session resources.
  - [PaperTiger.Store.ConfirmationTokens](PaperTiger.Store.ConfirmationTokens.md): ETS-backed storage for ConfirmationToken resources.

  - [PaperTiger.Store.Coupons](PaperTiger.Store.Coupons.md): ETS-backed storage for Coupon resources.
  - [PaperTiger.Store.Customers](PaperTiger.Store.Customers.md): ETS-backed storage for Customer resources.
  - [PaperTiger.Store.Disputes](PaperTiger.Store.Disputes.md): ETS-backed storage for Dispute resources.
  - [PaperTiger.Store.Events](PaperTiger.Store.Events.md): ETS-backed storage for Event resources.
  - [PaperTiger.Store.InvoiceItems](PaperTiger.Store.InvoiceItems.md): ETS-backed storage for InvoiceItem resources.
  - [PaperTiger.Store.Invoices](PaperTiger.Store.Invoices.md): ETS-backed storage for Invoice resources.
  - [PaperTiger.Store.Mandates](PaperTiger.Store.Mandates.md): ETS-backed storage for Mandate resources.

  - [PaperTiger.Store.PaymentIntents](PaperTiger.Store.PaymentIntents.md): ETS-backed storage for PaymentIntent resources.
  - [PaperTiger.Store.PaymentMethodConfigurations](PaperTiger.Store.PaymentMethodConfigurations.md): ETS-backed storage for PaymentMethodConfiguration resources.

  - [PaperTiger.Store.PaymentMethodDomains](PaperTiger.Store.PaymentMethodDomains.md): ETS-backed storage for PaymentMethodDomain resources.

  - [PaperTiger.Store.PaymentMethods](PaperTiger.Store.PaymentMethods.md): ETS-backed storage for PaymentMethod resources.
  - [PaperTiger.Store.Payouts](PaperTiger.Store.Payouts.md): ETS-backed storage for Payout resources.
  - [PaperTiger.Store.Plans](PaperTiger.Store.Plans.md): ETS-backed storage for Plan resources.
  - [PaperTiger.Store.Prices](PaperTiger.Store.Prices.md): ETS-backed storage for Price resources.
  - [PaperTiger.Store.Products](PaperTiger.Store.Products.md): ETS-backed storage for Product resources.
  - [PaperTiger.Store.Refunds](PaperTiger.Store.Refunds.md): ETS-backed storage for Refund resources.
  - [PaperTiger.Store.Reviews](PaperTiger.Store.Reviews.md): ETS-backed storage for Review resources.
  - [PaperTiger.Store.SetupAttempts](PaperTiger.Store.SetupAttempts.md): ETS-backed storage for SetupAttempt resources.
  - [PaperTiger.Store.SetupIntents](PaperTiger.Store.SetupIntents.md): ETS-backed storage for SetupIntent resources.
  - [PaperTiger.Store.Sources](PaperTiger.Store.Sources.md): ETS-backed storage for Source resources.
  - [PaperTiger.Store.SubscriptionItems](PaperTiger.Store.SubscriptionItems.md): ETS-backed storage for SubscriptionItem resources.
  - [PaperTiger.Store.SubscriptionSchedules](PaperTiger.Store.SubscriptionSchedules.md): ETS-backed storage for SubscriptionSchedule resources.
  - [PaperTiger.Store.Subscriptions](PaperTiger.Store.Subscriptions.md): ETS-backed storage for Subscription resources.
  - [PaperTiger.Store.TaxRates](PaperTiger.Store.TaxRates.md): ETS-backed storage for TaxRate resources.
  - [PaperTiger.Store.Tokens](PaperTiger.Store.Tokens.md): ETS-backed storage for Token resources.
  - [PaperTiger.Store.Topups](PaperTiger.Store.Topups.md): ETS-backed storage for Top-up resources.
  - [PaperTiger.Store.TransferReversals](PaperTiger.Store.TransferReversals.md): ETS-backed storage for Connect Transfer Reversal resources.

  - [PaperTiger.Store.Transfers](PaperTiger.Store.Transfers.md): ETS-backed storage for Connect Transfer resources.

  - [PaperTiger.Store.WebhookDeliveries](PaperTiger.Store.WebhookDeliveries.md): In-memory store for webhook deliveries in test mode.
  - [PaperTiger.Store.Webhooks](PaperTiger.Store.Webhooks.md): ETS-backed storage for Webhook Endpoint resources.

- Webhooks
  - [PaperTiger.WebhookDelivery](PaperTiger.WebhookDelivery.md): Manages webhook event delivery to registered endpoints.
  - [PaperTiger.WebhookDelivery.Adapter](PaperTiger.WebhookDelivery.Adapter.md): Behaviour for delivering a signed webhook request.
  - [PaperTiger.WebhookDelivery.HTTPAdapter](PaperTiger.WebhookDelivery.HTTPAdapter.md): Default `PaperTiger.WebhookDelivery.Adapter` — performs the HTTP POST
itself using `Req`. This is the historical PaperTiger behavior and the
adapter in effect when `:webhook_delivery_adapter` is not configured.
  - [PaperTiger.WebhookDelivery.Request](PaperTiger.WebhookDelivery.Request.md): A fully-prepared webhook delivery request handed to a
`PaperTiger.WebhookDelivery.Adapter`.
  - [PaperTiger.WebhookDelivery.Response](PaperTiger.WebhookDelivery.Response.md): The successful result of a `PaperTiger.WebhookDelivery.Adapter.deliver/1`
call.

- Testing
  - [PaperTiger.Test](PaperTiger.Test.md): Test helpers for running PaperTiger tests concurrently.
  - [PaperTiger.TestHelpers](PaperTiger.TestHelpers.md): ExUnit test helpers for PaperTiger.
  - [PaperTiger.TestTokens](PaperTiger.TestTokens.md): Pre-defined Stripe test tokens that are always available in PaperTiger.

- Internal
  - [PaperTiger.Clock](PaperTiger.Clock.md): Manages time for PaperTiger. Three modes
  - [PaperTiger.Error](PaperTiger.Error.md): Stripe-compatible error responses.
  - [PaperTiger.Idempotency](PaperTiger.Idempotency.md): Implements Stripe's idempotency mechanism to prevent duplicate requests.
  - [PaperTiger.Plugs.Auth](PaperTiger.Plugs.Auth.md): Authenticates requests using Stripe-compatible API key verification.
  - [PaperTiger.Plugs.CORS](PaperTiger.Plugs.CORS.md): Handles CORS (Cross-Origin Resource Sharing) headers for browser-based testing.
  - [PaperTiger.Plugs.ConnectContext](PaperTiger.Plugs.ConnectContext.md): Applies Stripe Connect request context from the `Stripe-Account` header.
  - [PaperTiger.Plugs.GetFormBody](PaperTiger.Plugs.GetFormBody.md): Parses form-encoded body params for GET requests.
  - [PaperTiger.Plugs.Idempotency](PaperTiger.Plugs.Idempotency.md): Handles Stripe-compatible idempotency key processing.
  - [PaperTiger.Plugs.Sandbox](PaperTiger.Plugs.Sandbox.md): Plug that extracts test namespace from HTTP headers for sandbox isolation.
  - [PaperTiger.Plugs.UnflattenParams](PaperTiger.Plugs.UnflattenParams.md): Converts Stripe's form-encoded nested parameters into proper nested maps.
  - [PaperTiger.Resource](PaperTiger.Resource.md): Shared utilities for resource handlers.
  - [PaperTiger.Router](PaperTiger.Router.md): HTTP router for PaperTiger Stripe mock server.
  - [PaperTiger.Router.Macros](PaperTiger.Router.Macros.md): Macros for generating Stripe resource routes.

