UGC Reactions from Real Creators
真实创作者视频库,视频仅需 11 美元,图片仅需 8 美元。定制化制作起价 25 美元/视频,最低消费 250 美元。包含商业授权。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A preparation site for merchants who want to claim a business in ChatGPT. It checks public pages and an optional product spreadsheet against the official profile fields and the OpenAI discovery product feed, shows a free audit, and — after a verified PayPal capture — downloads a prep pack the merchant submits themselves.
This tool does not claim the business, sign in to ChatGPT or Business Hub, collect identity documents, or promise ranking or approval.
npm install
npm run dev
Open http://127.0.0.1:43123.
npm test
npm run lint
Prices, SKU allowance, crawl caps, retention, PayPal, and storage are environment variables. Copy .env.example to .env.local. Do not put real secrets in the repo.
| Variable | Default | Meaning |
|---|---|---|
PREP_TRIAL_DAYS | 7 | Free trial length in days. |
PREP_TRIAL_PRICE_CENTS | 0 | Trial price in cents. 0 = free trial, no charge. |
PREP_MONTHLY_PRICE_CENTS | 4990 | Pro price after the trial, in cents. $49.90 USD / month. Not auto-charged — see below. |
PREP_BASE_PRICE_CENTS | 0 | Old one-time pack price. 0 while paid checkout is off. |
PREP_CURRENCY | USD | ISO currency shown next to the amount and sent to PayPal. |
PREP_INCLUDED_SKUS | 50 | Product rows included in the paid pack. |
PREP_OVERAGE_BLOCK_SIZE | 50 | Extra rows per overage block. Unused while the overage price is 0. |
PREP_OVERAGE_BLOCK_PRICE_CENTS | 0 | No SKU overage charge. Larger catalogs still pay the base price. |
PREP_MAX_PRODUCT_PAGES | 30 | Product detail pages fetched per audit. |
PREP_MAX_INFO_PAGES | 8 | About / policy / contact pages. |
PREP_MAX_VARIANTS_PER_PRODUCT | 40 | Variants kept per product. The rest are reported, not dropped silently. |
PREP_MAX_FEED_ROWS | 1000 | Uploaded sheet rows kept for the audit. The omitted count is shown. |
PREP_AUDIT_BUDGET_MS | 110000 | Stop crawling and return the finished part. |
PREP_FETCH_TIMEOUT_MS | 12000 | Per-request timeout. |
PREP_RETENTION_DAYS | 30 | Then the audit, crawl extract, and packs are deleted. |
PREP_ALLOW_LOOPBACK | on locally | Lets local fixture stores be crawled. Forced off when PAYPAL_ENV=live or when a production deploy has a price. |
PREP_DATA_DIR | ./data | Local filesystem store only. Gitignored. Not used on Vercel. |
PAYPAL_CLIENT_ID | empty | PayPal REST app client id. Public in the browser. The secret never is. |
PAYPAL_CLIENT_SECRET | empty | PayPal REST app secret. Server only. |
PAYPAL_WEBHOOK_ID | empty | Id of the webhook registered in the PayPal app. Required before checkout can start. |
PAYPAL_ENV | sandbox | sandbox or live. Only live talks to the live API. |
BLOB_READ_WRITE_TOKEN | empty | Private Vercel Blob read/write token. |
BLOB_STORE_ID | empty | Private Blob store id when the deployment uses Vercel OIDC instead of a token. |
DATABASE_URL | empty | Optional. Audits and pack files are stored in private Blob. Postgres is not required. |
PREP_PUBLIC_URL | empty | Optional origin for PayPal return and cancel URLs. |
Official field names, availability enums, excluded Ads/Checkout columns, claim steps, and the legal sentences live in lib/official/spec.ts. Update that module when OpenAI's docs change. The checkout amount is computed in lib/pricing.ts and stored on the order. PayPal is created with that same amountCents and currency. The webhook accepts the capture only when the amount and currency still match.
Like ChatGPT's Free vs Plus page (/pricing): one product in two stages. Free — 7-day free trial for USD 0.00, full prep pack for 7 days, no card, nothing charged. Pro — USD 49.90 / month after the trial, only if the merchant explicitly continues. The free audit summary on the homepage stays free to run; it is what the trial starts from.
POST /api/audits/:id/trial with the owner cookie set when the audit was created (HttpOnly, not an email verification). A blank contact_email keeps the address already stored on the audit. No card, no PayPal order, no charge during the trial. Code: lib/offer.ts (server prices), lib/subscription.ts (trial state), lib/audit/checkout.ts (startFreeTrial), components/trial-panel.tsx, components/pricing-cards.tsx.www, trailing slash, and tracking parameters folded together) and for the email string. Those slots survive the 30-day audit retention. An expired trial cannot be restarted on the same audit, the same normalized store, or the same email string.BILLING.SUBSCRIPTION.* webhooks) is not wired up yet — the current PayPal code is one-time Orders only, and paid checkout stays off. PREP_MONTHLY_PRICE_CENTS is the price shown for that future month. It is not sent to PayPal.以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗