---
title: "RedwoodSDK demo"
description: "Explore a Cloudflare-native fundraising checkout built with RedwoodSDK and Inttegro."
canonical: "https://studio.inttegro.com/demos/redwoodsdk"
format: inttegro-machine-docs/v1
language: "PHP"
sdk_version: "v12.0.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/php/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 380
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: []
estimated_tokens: 1191
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Explore a Cloudflare-native fundraising checkout built with RedwoodSDK and Inttegro. This PHP representation uses the selected SDK's native names wherever Studio has a verified mapping.

### Five questions

#### Q1. When should the reader use RedwoodSDK demo?

Use this demo guide to inspect a complete working integration and compare it with the application being built.

#### Q2. What is authoritative on this page?

The demo proves one working composition, not the only supported architecture. Follow its linked SDK and API pages for current contracts.

#### Q3. What page-specific constraint matters most?

Do not copy demo credentials, identifiers, or deployment assumptions. Recreate configuration through supported public setup paths.

#### Q4. Can Inttegro MCP materially help with this task?

No catalog ability is sufficiently specific to recommend for this page. Use the documentation directly; consult the MCP catalog only if the task later requires governed live account context or a supported operation.

#### Q5. How should the reader verify the answer and continue?

Open the hosted experience, trace the corresponding source, and verify that its SDK and API usage still matches the current linked documentation. Continue with [Read the Orders API](https://studio.inttegro.com/machine/php/api/orders.md) and [Accept payment with Inttegro Checkout](https://studio.inttegro.com/machine/php/guides/accept-payment-with-inttegro-checkout.md) when those concerns enter scope.

## Document content

# RedwoodSDK demo

Build a Cloudflare-native contribution flow with React Server Components. One
Worker route creates the order for all three payment modes.

> Demo Release is interactive content. Use the canonical page to view it.

This demo uses the current [RedwoodSDK](https://rwsdk.com/), not the legacy
RedwoodGraphQL stack.

## What you’ll build

- React Server Components and Web-standard request handling in RedwoodSDK
- A Worker-held API key and application-lifetime Inttegro client
- React integration through [`@inttegro/react`](https://studio.inttegro.com/machine/php/web/react.md)
- Trusted Product and Price lookup before Order creation
- Bounded tiers, retry-safe idempotency, and a readable order number
- Safe completion, cancellation, and error states

## See the flow

The gallery shows one Worker-created order in each Checkout presentation.
Worker secrets never enter the React component tree.

> Demo Presentation Gallery is interactive content. Use the canonical page to view it.

## Run the demo

Add the API key to `.dev.vars`, set the Product and Price IDs, and run the
Worker. The
[released README](https://github.com/inttegro/inttegro-demos/blob/redwoodsdk-v1.8.3/redwoodsdk/README.md)
has the exact commands.

## Key files

1. [`src/checkout.ts`](https://github.com/inttegro/inttegro-demos/blob/redwoodsdk-v1.8.3/redwoodsdk/src/checkout.ts)
   validates the tier and creates the order.
2. [`src/worker.tsx`](https://github.com/inttegro/inttegro-demos/blob/redwoodsdk-v1.8.3/redwoodsdk/src/worker.tsx)
   connects the Worker route, React rendering, and response.
3. [`src/inttegro-demo-checkout.tsx`](https://github.com/inttegro/inttegro-demos/blob/redwoodsdk-v1.8.3/redwoodsdk/src/inttegro-demo-checkout.tsx)
   manages the React Checkout surface.
4. [`public/checkout-presentations.js`](https://github.com/inttegro/inttegro-demos/blob/redwoodsdk-v1.8.3/redwoodsdk/public/checkout-presentations.js)
   coordinates the three Checkout modes.

## Before you ship

Store contributions and consume authenticated server events. Update public
totals only from verified payment state.

## Next

- [Browse the released source](https://github.com/inttegro/inttegro-demos/tree/redwoodsdk-v1.8.3/redwoodsdk)
- [Accept payment with Inttegro Checkout](https://studio.inttegro.com/machine/php/guides/accept-payment-with-inttegro-checkout.md)
- [Read the Orders API](https://studio.inttegro.com/machine/php/api/orders.md)
