stripe-checkout
Switch on the store's real Stripe payments — the hosted-checkout route already ships; this wires the owner's key and verifies it
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Switch on the store's real Stripe payments — the hosted-checkout route already ships; this wires the owner's key and verifies it
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Collect a local business's REAL details in one pass, then fill the site — so nothing is ever invented
Collect a shop's REAL products and details in one pass, then fill the catalog — so nothing is ever invented
Fetch GitHub developer activity (commits, PRs, reviews) and build an activity dashboard
Monitor GitHub repos — fetch PRs, issues, CI status via Composio and display on canvas
Track daily habits on a canvas kanban board with streaks
Check service health endpoints and build a status page canvas
| name | stripe-checkout |
| version | 2.0.0 |
| description | Switch on the store's real Stripe payments — the hosted-checkout route already ships; this wires the owner's key and verifies it |
| trigger | connect stripe|take payments|enable checkout|start selling|accept cards|set up payments|stripe key |
| tools | ["edit_file","read_file","run_command"] |
The checkout route already ships in this project at custom-routes.ts
(POST /api/checkout + a POST /api/webhooks/stripe). It uses Stripe Hosted
Checkout (a redirect), NOT Stripe Elements — do not swap in
@stripe/react-stripe-js; the "Elements context" / network errors come from
that path. You do NOT need to write the route. You only need to give it the
owner's key and verify it. If you must change server logic, edit
custom-routes.ts (never server.tsx, which is generated).
sk_test_… to trial, sk_live_… for
real charges. It's THEIR Stripe account — that's where the money lands.STRIPE_SECRET_KEY in the project environment (the
env/secret store). Never put it in source or the client bundle.That's the only required step. With the key set, /api/checkout returns a real
Stripe URL and the storefront's Checkout button starts working.
A green build only proves it compiled. Hit the endpoint with a real product id
from src/data/store-content.ts:
curl -s -w "\nHTTP %{http_code}\n" -X POST \
http://localhost:$RUNTIME_PORT/api/checkout \
-H 'Content-Type: application/json' \
-d '{"items":[{"id":"<a-real-product-id>","quantity":1}]}'
Expect {"ok":true,"url":"https://checkout.stripe.com/..."}.
stripe_not_configured → the key isn't in the env yet (Step 1).stripe_error → read the message; usually a bad key or a test-vs-live
mismatch.Then add a product to the cart in the preview and click Checkout — you should
land on Stripe's page and, after a test payment, return to ?checkout=success.
The webhook route also already ships (POST /api/webhooks/stripe). To activate:
https://<published-domain>/api/webhooks/stripe, event
checkout.session.completed.STRIPE_WEBHOOK_SECRET.Without the webhook, checkout still works and the cart clears on the success
redirect; orders just stay pending in the DB instead of flipping to paid.
GET /api/orders?status=paid and summarize.store-content.ts — never trust
prices from the browser. Keep it that way if you edit the route.STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET.sk_test_… while trialling; switch to sk_live_… only once the owner has
confirmed the flow end-to-end.