# ripper docs > The merchant docs for ripper checkout: the loader, the runtime, the hosted page, the API. Install the npm package with `npm install ripperpay`, or load the permanent loader with ``. Every page below is also served as markdown (its alternate link) and listed in /.well-known/ripper-docs.json. ## Pages - [Start here](https://docs.ripper.dev/): Three ways to take a payment with ripper, and where each one begins. - [How ripper checkout works](https://docs.ripper.dev/how-it-works): The pieces, what happens when a shopper pays, and the words for each outcome. - [Quickstart](https://docs.ripper.dev/quickstart): From zero to a test payment in five minutes. - [Integration parameters](https://docs.ripper.dev/integration-parameters): Every field of update_checkout_integration and what the runtime does with it. - [Testing](https://docs.ripper.dev/testing): What puts a checkout in test mode, what test mode does and does not prove, and where the cards are. - [Keys](https://docs.ripper.dev/keys): The two keys, what each may do, where each may go, and what to do first if one gets out. - [Security and CSP](https://docs.ripper.dev/security-and-csp): The Content-Security-Policy a page needs for the checkout, which rows are verified and which are not. - [Going-live checklist](https://docs.ripper.dev/going-live): What to have in place before the first live charge, and what we have not yet verified in live. - [Changes and versioning](https://docs.ripper.dev/changes): What counts as a breaking change, how much notice you get, and what can appear without notice. - [Vanilla JavaScript](https://docs.ripper.dev/js/script-tag): The script tag, the queue, and the members of ripper. - [React](https://docs.ripper.dev/js/react): — a thin wrapper over collect(). - [Next.js](https://docs.ripper.dev/js/nextjs): A server component may import ripperpay; the checkout renders in a client component. - [collect() reference](https://docs.ripper.dev/js/collect): Every option, every result, and what the session stores. - [The hosted page](https://docs.ripper.dev/js/hosted-page): pay.ripper.dev/{handle} — the same runtime, no code. - [Holds and the hold block](https://docs.ripper.dev/js/hold): What "Authorised, pending merchant confirmation" means and every field of the hold block. - [Layout](https://docs.ripper.dev/js/layout): step_mode and field_order are behaviour, not CSS. - [Accessibility](https://docs.ripper.dev/js/accessibility): The landmark, the live region, describedBy pointing at your own page, reduced motion. - [Test cards](https://docs.ripper.dev/js/test-cards): The reserved cards in test mode and what each does. - [Errors](https://docs.ripper.dev/js/errors): Every API error code and every SDK error code, what causes each, and what your page should do about it. - [Routes the checkout calls for you](https://docs.ripper.dev/js/routes): The browser routes the checkout uses on your behalf, for reading and debugging rather than for calling. - [Migrating from Stripe](https://docs.ripper.dev/js/stripe-compatibility): Swap one script URL and one key; elements.create, mount and confirmCardPayment keep working. - [API reference](https://docs.ripper.dev/api/reference): Every route your server calls, generated from the OpenAPI document so it cannot drift. - [Checkout sessions](https://docs.ripper.dev/api/checkout-sessions): Create a session on your server and read it back. - [Payments](https://docs.ripper.dev/api/payments): Read a payment, its decline reason and its hold state. - [Webhooks](https://docs.ripper.dev/api/webhooks): Register an endpoint, list what was delivered, and replay a delivery. - [Errors by HTTP status](https://docs.ripper.dev/api/errors): Every API error code, ordered by the status you got back, with what to do about each. - [Stripe API compatibility](https://docs.ripper.dev/api/stripe-compatibility): The Stripe-shaped routes, for servers already written against Stripe. - [OpenAPI document](https://docs.ripper.dev/api/openapi): Where to fetch the machine-readable API description, and what is guaranteed about it.