# PaperTiger v1.0.2 - 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.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.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.Plug.APIChaos](PaperTiger.Plug.APIChaos.md): Plug middleware that injects chaos into API requests. - [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.ApplicationFee](PaperTiger.Resources.ApplicationFee.md): Handles Application Fee resource endpoints. - [PaperTiger.Resources.BalanceTransaction](PaperTiger.Resources.BalanceTransaction.md): Handles BalanceTransaction resource endpoints. - [PaperTiger.Resources.BankAccount](PaperTiger.Resources.BankAccount.md): Handles BankAccount resource endpoints. - [PaperTiger.Resources.Card](PaperTiger.Resources.Card.md): Handles Card resource 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.Coupon](PaperTiger.Resources.Coupon.md): Handles Coupon resource endpoints. - [PaperTiger.Resources.Customer](PaperTiger.Resources.Customer.md): Handles Customer resource endpoints. - [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.PaymentIntent](PaperTiger.Resources.PaymentIntent.md): Handles PaymentIntent resource endpoints. - [PaperTiger.Resources.PaymentMethod](PaperTiger.Resources.PaymentMethod.md): Handles PaymentMethod 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.Refund](PaperTiger.Resources.Refund.md): Handles Refund resource endpoints. - [PaperTiger.Resources.Review](PaperTiger.Resources.Review.md): Handles Review 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.Webhook](PaperTiger.Resources.Webhook.md): Handles Webhook Endpoint resource endpoints. - Storage - [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.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.PaymentIntents](PaperTiger.Store.PaymentIntents.md): ETS-backed storage for PaymentIntent 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.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.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. - 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.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.