{"id":15114036,"url":"https://github.com/joyhchen/reflex-embedded-checkout","last_synced_at":"2025-09-27T17:32:26.027Z","repository":{"id":234099007,"uuid":"770693595","full_name":"joyhchen/reflex-embedded-checkout","owner":"joyhchen","description":"Demo: embed Stripe Checkout in a Reflex app (full-stack web app in Python) https://reflex.dev/ + https://embedcheckout.com/","archived":false,"fork":false,"pushed_at":"2024-05-19T06:47:38.000Z","size":27,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T01:34:31.871Z","etag":null,"topics":["reflex","stripe","stripe-checkout"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joyhchen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-12T01:46:46.000Z","updated_at":"2024-12-25T07:33:24.000Z","dependencies_parsed_at":"2025-01-18T01:32:40.372Z","dependency_job_id":"57c1daa0-af25-40bd-8d20-5d50fc88c0d5","html_url":"https://github.com/joyhchen/reflex-embedded-checkout","commit_stats":null,"previous_names":["joyhchen/reflex-embedded-checkout"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joyhchen/reflex-embedded-checkout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyhchen%2Freflex-embedded-checkout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyhchen%2Freflex-embedded-checkout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyhchen%2Freflex-embedded-checkout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyhchen%2Freflex-embedded-checkout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joyhchen","download_url":"https://codeload.github.com/joyhchen/reflex-embedded-checkout/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyhchen%2Freflex-embedded-checkout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277262899,"owners_count":25788957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["reflex","stripe","stripe-checkout"],"created_at":"2024-09-26T01:40:53.518Z","updated_at":"2025-09-27T17:32:25.774Z","avatar_url":"https://github.com/joyhchen.png","language":"Python","funding_links":[],"categories":["External Resources"],"sub_categories":["Tutorials"],"readme":"# Reflex embedded checkout\n\nStripe offers two ways to integrate Checkout ([overview](https://docs.stripe.com/payments/checkout)).\n1. **Hosted**: Redirect your customers to a separate URL. Specify a return URL so that customers return to your website when they're done checking out.\n2. **Embedded**: Keep your customers on your site by embedding the checkout form directly.\n\nThis repo demonstrates how to integrate option 2, **embedded checkout**. The hosted integration should be a lot simpler to implement because it's a simple URL redirect ([follow this guide](https://docs.stripe.com/checkout/quickstart)).\n\nTo run the project, run the command below. Replace the environment variables with your API keys.\n\n```\nSTRIPE_SECRET_KEY='sk_test_abc123' STRIPE_PUBLISHABLE_KEY='pk_test_abc123' reflex run\n```\n\n---\n\nThis is the base Reflex template - installed when you run `reflex init`.\n\nIf you want to use a different template, pass the `--template` flag to `reflex init`.\nFor example, if you want a more basic starting point, you can run:\n\n```bash\nreflex init --template blank\n```\n\n## About this Template\n\nThis template has the following directory structure:\n\n```bash\n├── README.md\n├── assets\n├── rxconfig.py\n└── {your_app}\n    ├── __init__.py\n    ├── components\n    │   ├── __init__.py\n    │   └── sidebar.py\n    ├── pages\n    │   ├── __init__.py\n    │   ├── dashboard.py\n    │   ├── index.py\n    │   └── settings.py\n    ├── styles.py\n    ├── templates\n    │   ├── __init__.py\n    │   └── template.py\n    └── {your_app}.py\n```\n\nSee the [Project Structure docs](https://reflex.dev/docs/getting-started/project-structure/) for more information on general Reflex project structure.\n\n### Adding Pages\n\nIn this template, the pages in your app are defined in `{your_app}/pages/`.\nEach page is a function that returns a Reflex component.\nFor example, to edit this page you can modify `{your_app}/pages/index.py`.\nSee the [pages docs](https://reflex.dev/docs/pages/routes/) for more information on pages.\n\nIn this template, instead of using `rx.add_page` or the `@rx.page` decorator,\nwe use the `@template` decorator from `{your_app}/templates/template.py`.\n\nTo add a new page:\n\n1. Add a new file in `{your_app}/pages/`. We recommend using one file per page, but you can also group pages in a single file.\n2. Add a new function with the `@template` decorator, which takes the same arguments as `@rx.page`.\n3. Import the page in your `{your_app}/pages/__init__.py` file and it will automatically be added to the app.\n\n\n### Adding Components\n\nIn order to keep your code organized, we recommend putting components that are\nused across multiple pages in the `{your_app}/components/` directory.\n\nIn this template, we have a sidebar component in `{your_app}/components/sidebar.py`.\n\n### Adding State\n\nAs your app grows, we recommend using [substates](https://reflex.dev/docs/substates/overview/)\nto organize your state.\n\nYou can either define substates in their own files, or if the state is\nspecific to a page, you can define it in the page file itself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyhchen%2Freflex-embedded-checkout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoyhchen%2Freflex-embedded-checkout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyhchen%2Freflex-embedded-checkout/lists"}