PaperTiger.Router (PaperTiger v0.9.20)
View SourceHTTP router for PaperTiger Stripe mock server.
Handles all Stripe API endpoints with DRY macro-based routing.
Plugs
PaperTiger.Plugs.CORS- Cross-origin requestsPaperTiger.Plugs.Auth- Verifies API keyPaperTiger.Plugs.Idempotency- Prevents duplicate requestsPaperTiger.Plugs.UnflattenParams- Converts card[number] to %{card: %{number: ...}}
Endpoints
Stripe API (v1)
/v1/customers- Customer management/v1/subscriptions- Subscription management/v1/invoices- Invoice management- etc. (28 total resource types)
Config API (testing)
POST /_config/webhooks- Register webhook endpointDELETE /_config/data- Flush all dataPOST /_config/time/advance- Advance time (manual mode)
Resource Macro
The stripe_resource/3 macro generates standard CRUD routes:
stripe_resource "customers", PaperTiger.Resources.CustomerGenerates:
- POST /v1/customers -> Customer.create/1
- GET /v1/customers/:id -> Customer.retrieve/2
- POST /v1/customers/:id -> Customer.update/2
- DELETE /v1/customers/:id -> Customer.delete/2
- GET /v1/customers -> Customer.list/1
With :only / :except support:
stripe_resource "tokens", PaperTiger.Resources.Token, only: [:create, :retrieve]
stripe_resource "events", PaperTiger.Resources.Event, except: [:delete]
Summary
Functions
Callback implementation for Plug.call/2.
Callback implementation for Plug.init/1.