Files
office_translator/.claude/settings.local.json
sepehr 374c605027
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m5s
feat: Stripe integration complete - products created, DB migration, payment_failed handler, credit buttons wired
- Create Stripe products/prices (Starter/Pro/Business monthly+yearly)
- Fix CRITICAL bug: add subscription_ends_at + cancel_at_period_end columns to users table
- Alembic migration: f6a7b8c9d0e1_add_subscription_ends_at_cancel_at_period_end
- Fix: implement handle_payment_failed() to set subscription_status=PAST_DUE
- Fix: harmonize .env.production Stripe variable names to match pricing_config.py
- Fix: add missing FRONTEND_URL and STRIPE_PUBLISHABLE_KEY to .env.production
- Add all Stripe Price IDs (test mode) to .env.production
- Wire credit purchase buttons to /api/v1/auth/create-credits-checkout
- Dashboard sync post-checkout was already implemented (no change needed)

Stripe test keys: configured in .env.production
Webhook: must be configured on server via stripe CLI or Stripe Dashboard
Webhook URL: https://wordly.art/api/v1/auth/webhook/stripe
2026-05-31 21:40:31 +02:00

37 lines
2.0 KiB
JSON

{
"permissions": {
"allow": [
"Bash(uv run *)",
"Bash(npm run *)",
"Bash(PYTHONIOENCODING=utf-8 uv run python)",
"Bash(node -e ' *)",
"Bash(npx next *)",
"Bash(xxd)",
"Bash(sed -i '4574s/,든 형식, 모든 요소//' src/lib/i18n.tsx)",
"Bash(sed -n '4574p' src/lib/i18n.tsx)",
"Bash(node)",
"Bash(sed -i '5010s/.*/ \"landing.why.languages.desc\": \"Google Translate, DeepL, and AI-powered engines for professional quality.\",/' src/lib/i18n.tsx)",
"Bash(sed -i '5372s/.*/ \"pricing.faq.a7\": \"Word \\(.docx\\), Excel \\(.xlsx\\\\/.xls\\), PowerPoint \\(.pptx\\), and soon PDF. All plans support the same formats.\",/' src/lib/i18n.tsx)",
"Bash(sed -i '5446s/.*/ \"landing.why.smartart.desc\": \"Organizational charts, flowcharts, hierarchy diagrams - all translated in place.\",/' src/lib/i18n.tsx)",
"Bash(sed -i '5832s/.*/ \"pricing.faq.a2\": \"It is our AI engine based on DeepSeek V3.2 via OpenRouter.\",/' src/lib/i18n.tsx)",
"Bash(docker compose build *)",
"Bash(docker compose up *)",
"Bash(docker compose *)",
"Bash(curl -s http://localhost/health)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost/)",
"Bash(curl -s http://localhost/)",
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3010/)",
"Bash(curl *)",
"Bash(python -c \"import sys,json; d=json.load\\(sys.stdin\\); [print\\(p\\) for p in sorted\\(d.get\\('paths',{}\\).keys\\(\\)\\) if 'auth' in p or 'user' in p or 'login' in p]\")",
"Bash(docker exec *)",
"Bash(git commit -m ' *)",
"Bash(python -c ' *)",
"Bash(timeout 15 python -u -c ' *)",
"Bash(python -c \"import openpyxl; print\\('openpyxl OK'\\)\")",
"Bash(python -c \"import docx; print\\('python-docx OK'\\)\")",
"Bash(npx tsc *)",
"Bash(.venv/Scripts/python.exe _bmad/scripts/resolve_customization.py --skill .claude/skills/bmad-quick-dev --key workflow)"
]
}
}