[{"data":1,"prerenderedAt":652},["ShallowReactive",2],{"repo-tree":3,"repo-\u002Finternal\u002Fsupport-bot\u002Fkb\u002Frefund_request":283},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,69,72,75,78,81,84,86,88,90,93,96,99,102,105,108,111,114,117,120,123,125,127,129,131,133,135,138,141,143,146,149,152,155,158,161,164,167,169,172,175,178,180,183,186,189,192,195,198,201,203,206,209,212,215,218,221,224,227,230,233,236,239,242,245,248,251,254,257,260,263,266,269,272,275,278,281],{"path":5,"title":6},"\u002Fagents\u002Fbackend-code-style","Backend Conventions",{"path":8,"title":9},"\u002Fagents\u002Fdatabase","Database",{"path":11,"title":12},"\u002Fagents\u002Fportal-code-style","Portal Conventions",{"path":14,"title":15},"\u002Fagents\u002Ftranslation","Translation",{"path":17,"title":18},"\u002Fconventions\u002Fbackend-coding","Backend coding conventions",{"path":20,"title":21},"\u002Fconventions\u002Ffrontend-coding","Frontend coding conventions",{"path":23,"title":24},"\u002Fdevelopment-process","Development process",{"path":26,"title":27},"\u002Flearning-api-preview-hetzner-setup","Learning API Preview on Hetzner + Cloudflare",{"path":29,"title":30},"\u002Flearning-api-preview-vm-plan","Learning API Preview VM Plan",{"path":32,"title":33},"\u002Fmonorepo-structure","Monorepo structure",{"path":35,"title":36},"\u002Foperations","Operations — bugs and support",{"path":38,"title":39},"\u002Fpostmortems\u002F2026-03-16_onboarding-currency-regression","Onboarding Zod transform silently broken — web signups assigned wrong checkout currency",{"path":41,"title":42},"\u002Fpostmortems\u002Freadme","Postmortems",{"path":44,"title":45},"\u002Fpostmortems\u002F_template","TEMPLATE",{"path":47,"title":48},"\u002Fpostmortems\u002Fposthog-comparison","Postmortem practice — comparison with PostHog",{"path":50,"title":51},"\u002Fpreview-environment-plan","Preview Environment Plan",{"path":53,"title":54},"\u002Fprinciples","Engineering principles",{"path":56,"title":57},"\u002Fworking-with-ai","Working with AI",{"path":59,"title":60},"\u002F.claude\u002Fskills\u002Feval-playground\u002Fskill","Eval Playground — Co-development Skill",{"path":62,"title":63},"\u002F.claude\u002Fskills\u002Ffigma-diff-section\u002Fskill","Figma Diff Section Pipeline",{"path":65,"title":66},"\u002Fagents","AGENTS.md",{"path":68,"title":66},"\u002Fclaude",{"path":70,"title":71},"\u002Freadme","Studyflash",{"path":73,"title":74},"\u002Fapps\u002Fcore-api\u002Fagents","Core API (apps\u002Fcore-api)",{"path":76,"title":77},"\u002Fapps\u002Fcore-api\u002Freadme","README",{"path":79,"title":80},"\u002Fapps\u002Femail-previews\u002Fagents","Email Previews (apps\u002Femail-previews)",{"path":82,"title":83},"\u002Fapps\u002Flanding-page\u002Fagents","Landing Page (apps\u002Flanding-page)",{"path":85,"title":83},"\u002Fapps\u002Flanding-page\u002Fclaude",{"path":87,"title":66},"\u002Fapps\u002Flearning-api\u002Fagents",{"path":89,"title":77},"\u002Fapps\u002Flearning-api\u002Freadme",{"path":91,"title":92},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Feval_metrics_design","Surface-Specific Eval Metrics Design",{"path":94,"title":95},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Ftest_set","Quiz Eval Test Set",{"path":97,"title":98},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Ffrontend\u002Freadme","React + TypeScript + Vite",{"path":100,"title":101},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fcontent-pillar-shallow-coverage\u002Freadme","Content pillar misses subtopics in dense documents",{"path":103,"title":104},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fdocling-empty-section-headers\u002Freadme","Empty section headers dropped by docling chunker",{"path":106,"title":107},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fdocling-table-reading-order\u002Freadme","Table\u002Fbox layout causes wrong reading order",{"path":109,"title":110},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fmetrics\u002Freadme","Quiz eval metrics — canonical rubrics",{"path":112,"title":113},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-12-quiz-summary-feedback-current-state","Quiz and Summary Feedback Current State",{"path":115,"title":116},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-24-quiz-eval-metrics","Quiz Evaluation Metrics",{"path":118,"title":119},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-05-01-quiz-eval-current-state","Quiz Eval Current State",{"path":121,"title":122},"\u002Fapps\u002Flearning-api\u002Fmonitoring\u002Freadme","Monitoring Stack",{"path":124,"title":77},"\u002Fapps\u002Flearning-api\u002Fshared\u002Freadme",{"path":126,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fflashcard_agent\u002Freadme",{"path":128,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fingestion_agent\u002Freadme",{"path":130,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fquiz_agent\u002Freadme",{"path":132,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fsummary_agent\u002Freadme",{"path":134,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Fparser\u002Freadme",{"path":136,"title":137},"\u002Fapps\u002Fmarketing-emails-preview\u002Fagents","Marketing Emails Preview (apps\u002Fmarketing-emails-preview)",{"path":139,"title":140},"\u002Fapps\u002Fmobile-app\u002Fagents","StudyFlash Mobile App - Claude Code Configuration",{"path":142,"title":140},"\u002Fapps\u002Fmobile-app\u002Fclaude",{"path":144,"title":145},"\u002Fapps\u002Fmountain-max\u002Fagents","Mountain Max (apps\u002Fmountain-max)",{"path":147,"title":148},"\u002Fapps\u002Fmountain-max\u002Fgame\u002Freadme","Mountain Max Game",{"path":150,"title":151},"\u002Fapps\u002Fportal\u002Fagents","Portal (apps\u002Fportal)",{"path":153,"title":154},"\u002Fapps\u002Fportal\u002Freadme","Nuxt Minimal Starter",{"path":156,"title":157},"\u002Fapps\u002Fportal\u002Fapp\u002Fcomposables\u002Ffiles\u002Freadme","File Upload Composables",{"path":159,"title":160},"\u002Fapps\u002Fportal\u002Fdocs\u002Flibrary-routing","Library Routing Documentation",{"path":162,"title":163},"\u002Fapps\u002Fsupabase\u002Fagents","Supabase (apps\u002Fsupabase)",{"path":165,"title":166},"\u002Fapps\u002Fwrapped\u002Fagents","Wrapped (apps\u002Fwrapped)",{"path":168,"title":98},"\u002Fapps\u002Fwrapped\u002Freadme",{"path":170,"title":171},"\u002Finfra\u002Freadme","infra\u002F",{"path":173,"title":174},"\u002Finfra\u002Fdns\u002Freadme","DNS Infrastructure",{"path":176,"title":177},"\u002Finfra\u002Fdokploy\u002Freadme","studyflash-dokploy",{"path":179,"title":77},"\u002Finfra\u002Fdokploy\u002Fsdk\u002Fnodejs\u002Freadme",{"path":181,"title":182},"\u002Finfra\u002Finfisical\u002Freadme","Infisical Infrastructure",{"path":184,"title":185},"\u002Finfra\u002Flearning-api\u002Freadme","Pulumi GCP TypeScript Template",{"path":187,"title":188},"\u002Finfra\u002Fopenreplay\u002Freadme","OpenReplay on Hetzner",{"path":190,"title":191},"\u002Finfra\u002Fscripts\u002Freadme","infra\u002Fscripts\u002F",{"path":193,"title":194},"\u002Finfra\u002Fturborepo-cache\u002Freadme","Turborepo Remote Cache Infrastructure",{"path":196,"title":197},"\u002Finternal\u002Fchatwoot\u002Freadme","Chatwoot Infrastructure",{"path":199,"title":200},"\u002Finternal\u002Fchatwoot\u002Fprovider\u002Freadme","studyflash-chatwoot-provider",{"path":202,"title":77},"\u002Finternal\u002Fchatwoot\u002Fprovider\u002Fsdk\u002Fnodejs\u002Freadme",{"path":204,"title":205},"\u002Finternal\u002Fdocs\u002Freadme","internal\u002Fdocs",{"path":207,"title":208},"\u002Finternal\u002Fsupport-bot\u002Fclaude","Support Bot (Maximilian)",{"path":210,"title":211},"\u002Finternal\u002Fsupport-bot\u002Freadme","Studyflash Customer Support Bot (Maximilian)",{"path":213,"title":214},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Faccount_issues","Account Issues",{"path":216,"title":217},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fbilling_invoice","Billing Invoice",{"path":219,"title":220},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fcontent_upload","Content Upload",{"path":222,"title":223},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fdata_loss","Data Loss",{"path":225,"title":226},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fflashcard_issues","Flashcard Issues",{"path":228,"title":229},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fgarbage","Garbage",{"path":231,"title":232},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fgeneral_how_to","General How To",{"path":234,"title":235},"\u002Finternal\u002Fsupport-bot\u002Fkb","Knowledge Base Index",{"path":237,"title":238},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Flanguage_issues","Language Issues",{"path":240,"title":241},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmindmap_issues","Mindmap Issues",{"path":243,"title":244},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmisunderstanding","Misunderstanding",{"path":246,"title":247},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmock_exam_issues","Mock Exam Issues",{"path":249,"title":250},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fpodcast_issues","Podcast Issues",{"path":252,"title":253},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fquiz_issues","Quiz Issues",{"path":255,"title":256},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Frefund_request","Refund Request",{"path":258,"title":259},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsubscription_cancellation","Subscription Cancellation",{"path":261,"title":262},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsubscription_info","Subscription Info",{"path":264,"title":265},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsummary_issues","Summary Issues",{"path":267,"title":268},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Ftechnical_errors","Technical Errors",{"path":270,"title":271},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fvideo_issues","Video Issues",{"path":273,"title":274},"\u002Fpackages\u002Fcommon\u002Fdocs\u002Fearly-access-features","Declarative Early Access Features",{"path":276,"title":277},"\u002Fpackages\u002Fcommon\u002Fscripts\u002Freadme","Common Package Scripts",{"path":279,"title":280},"\u002Fpackages\u002Fdevtools\u002Ffigma-plugins\u002Freadme","Figma plugins",{"path":282,"title":77},"\u002Fpackages\u002Fpulumi-infisical\u002Freadme",{"id":284,"title":256,"body":285,"description":642,"extension":643,"lastReviewed":644,"meta":645,"navigation":647,"owner":644,"path":255,"seo":649,"status":644,"stem":650,"tags":644,"__hash__":651},"repo\u002Finternal\u002Fsupport-bot\u002Fkb\u002Frefund_request.md",{"type":286,"value":287,"toc":625},"minimark",[288,292,296,304,310,313,319,322,327,332,335,338,341,344,347,366,369,372,377,380,385,389,392,397,400,405,409,415,418,423,427,430,435,438,443,447,453,456,461,466,469,472,477,480,485,489,492,495,500,503,508,512,515,520,523,528,532,535,540,543,548,556,559,564,568,571,574,576,579,584,588,591,594,606,609,617,620],[289,290,256],"h1",{"id":291},"refund-request",[293,294,295],"h2",{"id":295},"refund_request_generic",[297,298,299,303],"p",{},[300,301,302],"strong",{},"Problem:"," I made an error and subscribed by mistake - I would like a refund",[297,305,306,309],{},[300,307,308],{},"Solution:"," Hi,",[297,311,312],{},"Could you please elaborate on how that happened?",[297,314,315,318],{},[300,316,317],{},"Note:"," French: \"Bonjour je viens de me rendre compte d'une erreur qu'il a été commise à mon encontre je ne souhaitais pas adhérer à votre programme j'aimerais un remboursement\"",[293,320,321],{"id":321},"auto_renewal_refund_denied",[297,323,324,326],{},[300,325,302],{}," My subscription auto-renewed and I would like a refund",[297,328,329,331],{},[300,330,308],{}," Hi!",[297,333,334],{},"Thank you very much for your message.",[297,336,337],{},"Your frustration is completely understandable—especially when a subscription renews unexpectedly. As is common with subscriptions, the plan does indeed renew automatically, which was disclosed during the purchase process. THe subscription can be managed easily within the account settings (if purchased through the web app) or your phone settings (if purchased through the App Store).",[297,339,340],{},"Please understand that we cannot offer refunds for missed or late cancellations. There are several reasons for this: each payment incurs non-refundable credit card\u002Fpayment and refund fees, and we also bear infrastructure and support costs on our side. If we were to issue refunds in such cases, these fees would remain entirely with us. Accordingly, the right of withdrawal does not apply either, as this is a contract renewal.",[297,342,343],{},"Of course, we have canceled your subscription so that no further charges will occur.",[297,345,346],{},"At the same time, Studyflash has evolved significantly over the past year. In addition to improved flashcards, the following features are now available, among others:",[348,349,350,354,357,360,363],"ul",{},[351,352,353],"li",{},"Summaries to quickly get an overview,",[351,355,356],{},"Quizzes for active recall,",[351,358,359],{},"Mind maps for visual structuring,",[351,361,362],{},"Podcasts (automatically generated audio summaries),",[351,364,365],{},"An AI tutor that helps with understanding, practicing, and reviewing.",[297,367,368],{},"This makes it possible not only to prepare effectively for exams, but also, for example, to practice a language efficiently. Perhaps you'll give Studyflash another chance.",[297,370,371],{},"Thank you very much for your understanding.",[297,373,374,376],{},[300,375,317],{}," This is the standard response for auto-renewal refund requests. Asked in French, German, Dutch variations.",[293,378,379],{"id":379},"refund_podcast_not_working",[297,381,382,384],{},[300,383,302],{}," I paid for podcast access but it's not working - I want a refund",[297,386,387,309],{},[300,388,308],{},[297,390,391],{},"What happens when you try to generate a podcast? We're here to make it work!",[297,393,394,396],{},[300,395,317],{}," French: \"J'ai payé pour avoir accès aux fameux podcast, il y a juste des flashcard\"",[293,398,399],{"id":399},"refund_subscription_cancelled",[297,401,402,404],{},[300,403,302],{}," I was charged even though I cancelled months ago - I want a refund",[297,406,407,331],{},[300,408,308],{},[297,410,411,412,414],{},"Thank you for your message.When exactly did you cancel your subscription and how did you do it?\n",[300,413,317],{}," French: \"Bonjour, je me permet de vous contacter car je viens de me faire débiter d'un certain montant alors que j'ai résilié il y a quelques mois maintenant\"",[293,416,417],{"id":417},"refund_app_bad",[297,419,420,422],{},[300,421,302],{}," I think this app is bad - I want my money back",[297,424,425,309],{},[300,426,308],{},[297,428,429],{},"I'm extremely sorry to hear this. The satisfaction of our users is our number one priority. Would you mind elaborating, so we can help you out?",[297,431,432,434],{},[300,433,317],{}," Dutch: \"Ik vindt deze app slecht ik wil mijn geod terug\". Also asked in French variations.",[293,436,437],{"id":437},"refund_cancelled_same_day",[297,439,440,442],{},[300,441,302],{}," I subscribed and cancelled the same day - I want a refund",[297,444,445,309],{},[300,446,308],{},[297,448,449,450,452],{},"We're very sorry to hear this. The satisfaction of our users is our number one priority. Would you mind letting us know why you aren't happy?\n",[300,451,317],{}," French: \"J'ai pris un abonnement d'un an le 4 janvier 2026 mais je l'ai annulé le 4 janvier 2026 don je souhaite un remboursement\"",[293,454,455],{"id":455},"refund_double_charge",[297,457,458,460],{},[300,459,302],{}," I was charged twice for my subscription",[297,462,463,465],{},[300,464,308],{}," Hi there!",[297,467,468],{},"Could you please give us a detailed explanation of what happened, so we can properly investigate this?",[297,470,471],{},"Best,",[297,473,474,476],{},[300,475,317],{}," French: \"J'ai pris l'abonnement mensuel aujourd'hui et j'ai été débitée deux fois de suite\"",[293,478,479],{"id":479},"refund_monthly_equivalent",[297,481,482,484],{},[300,483,302],{}," I took out an annual subscription for 5 EUR\u002Fmonth but was charged 60 EUR at once",[297,486,487,309],{},[300,488,308],{},[297,490,491],{},"Thank you for reaching out. We understand your frustration. 5 EUR\u002Fmonth is the monthly equivalent of the yearly subscription. We can only offer this competitive price for upfront payments.",[297,493,494],{},"Thank you for your understanding.",[297,496,497,499],{},[300,498,317],{}," French: \"j'ai pris un abonnement annuel pour 5€\u002Fmois mais j'ai éte prélevée des 60€ d'un coup\"",[293,501,502],{"id":502},"refund_late_cancellation",[297,504,505,507],{},[300,506,302],{}," I was charged and want a refund because I don't plan to continue",[297,509,510,309],{},[300,511,308],{},[297,513,514],{},"We have cancelled your subscription, however, we sadly can't accommodate refunds due to late cancellations.",[297,516,517,519],{},[300,518,317],{}," French: \"J'ai eu une prelevement sur mon compte de -12 euro, j'aimerais me faire rembourser car je ne compte pas contin\"",[293,521,522],{"id":522},"refund_app_not_working_de",[297,524,525,527],{},[300,526,302],{}," I paid money for an app that doesn't work - I want my money back",[297,529,530,309],{},[300,531,308],{},[297,533,534],{},"We're so sorry about that. Everything should be working properly. Could you please elaborate on what exactly is going wrong?We're here to help.",[297,536,537,539],{},[300,538,317],{}," German: \"ich habe unötig geld gezahlt für das das diese app nicht funktuniert\"",[293,541,542],{"id":542},"refund_and_cancel",[297,544,545,547],{},[300,546,302],{}," I want my money back and to stop my subscription",[297,549,550,552,553,555],{},[300,551,308],{}," Hi!We're so sorry about that. Everything should be working properly. Could you please elaborate on what exactly is going wrong?We're here to help.\n",[300,554,317],{}," Dutch: \"ik wil mijn geld terug en abonnement stoppen\". French: \"remboursement annulation abonnement\"",[293,557,558],{"id":558},"subscription_cancelled_want_refund",[297,560,561,563],{},[300,562,302],{}," I cancelled but still want a refund for the remaining period",[297,565,566,309],{},[300,567,308],{},[297,569,570],{},"I understand you'd like a refund after cancelling. Unfortunately, refunds for the remaining subscription period are not possible.",[297,572,573],{},"Once cancelled, you'll retain full access to all premium features until the end of your current billing period.",[297,575,494],{},[293,577,578],{"id":578},"app_store_refund_request",[297,580,581,583],{},[300,582,302],{}," I subscribed through the App Store and want a refund",[297,585,586,309],{},[300,587,308],{},[297,589,590],{},"Since your subscription was made through the App Store, any refund requests need to be handled directly by Apple. We don't have access to process refunds for App Store purchases.",[297,592,593],{},"To request a refund from Apple:",[595,596,597,600,603],"ol",{},[351,598,599],{},"Go to reportaproblem.apple.com",[351,601,602],{},"Sign in with your Apple ID",[351,604,605],{},"Find the Studyflash charge and select \"Request a refund\"",[297,607,608],{},"You can also contact Apple Support directly for assistance.",[297,610,611,612,616],{},"For cancelling future charges, please cancel the subscription in your iPhone Settings > ",[613,614,615],"span",{},"Your Name"," > Subscriptions > Studyflash.",[297,618,619],{},"Let me know if you need any other help!",[297,621,622,624],{},[300,623,317],{}," German: \"Ich habe ueber den App Store abonniert und moechte eine Rueckerstattung\". Also asked as: Apple Rueckerstattung; App Store refund; iOS Geld zurueck",{"title":626,"searchDepth":627,"depth":627,"links":628},"",2,[629,630,631,632,633,634,635,636,637,638,639,640,641],{"id":295,"depth":627,"text":295},{"id":321,"depth":627,"text":321},{"id":379,"depth":627,"text":379},{"id":399,"depth":627,"text":399},{"id":417,"depth":627,"text":417},{"id":437,"depth":627,"text":437},{"id":455,"depth":627,"text":455},{"id":479,"depth":627,"text":479},{"id":502,"depth":627,"text":502},{"id":522,"depth":627,"text":522},{"id":542,"depth":627,"text":542},{"id":558,"depth":627,"text":558},{"id":578,"depth":627,"text":578},"Requesting money back, dissatisfied with service","md",null,{"category":646,"sensitive":647,"entry_count":648},"refund_request",true,13,{"title":256,"description":642},"internal\u002Fsupport-bot\u002Fkb\u002Frefund_request","sxABFGlxgqioof91IuON58GkuDvpwRRmUccM_mD3E3U",1779007964690]