Vi körde en återbetalning på vårt eget konto för att verifiera att huvudboken vände sig korrekt. Det gjorde den. Sedan läste någon resten av kontots status, och där fanns det verkliga fyndet: paketet var fortfarande aktivt, och skulle förbli så till mitten av nästa månad.
Pengar tillbaka, åtkomst bibehållen. Upprepningsbart varje månad av vem som helst som är villig att klicka på Återbetala. Det var inte ett test som hittade detta, eftersom inget test ställde den frågan.
Att avsluta perioden betalningen köpte
Vid en fullständig återbetalning avslutas nu den period den betalningen öppnade omedelbart, och en livscykelhändelse registrerar varför.
Omedelbart — men inte till ingenting. Om du var på ett paket, uppgraderade till ett dyrare, och uppgraderingsbetalningen återbetalas, återgår du till paketet du var på, inte den kostnadsfria nivån. Den månaden betalade du separat, och den återbetalades inte. Att ta den också skulle innebära att plattformen betjänar sig själv med något kunden fortfarande äger. Bara någon utan ett tidigare, fortfarande aktivt paket faller till den kostnadsfria.
Åtkomsträtten har två halvor
Den första versionen av denna korrigering avslutade prenumerationsraden och stannade där. Men vad du har rätt till beror på två saker: raden budgeten läser, och en roll som beviljades när betalningen lyckades. Varje annan väg som avslutar en prenumeration tar uttryckligen bort den rollen. Denna gjorde inte det, så ett återbetalat konto skulle ha avbrutits på papper medan det behöll den betalda nivåns behörigheter.
Rollen tas nu också bort, och landar på det återställda paketets nivå, inte på ett allmänt "gratis" — samma resonemang som återställningen själv.
Att meddela leverantören
Kontosidan sa Kostnadsfri nivå. Betalningsleverantörens instrumentpanel sa Aktiv, nästa fakturering nästa månad. Återbetalningen hade avslutat saker på vår sida och aldrig meddelat den andra sidan, så kunden stod i kö för att faktureras igen för ett paket den fått återbetalt för och inte längre kunde använda — och hade inget sätt att stoppa det från våra skärmar, eftersom avbokning kräver en aktiv prenumeration, och vi hade just avbokat dennes.
En återbetalning stoppar nu automatisk förnyelse hos leverantören som utfärdade betalningen. Inte en omedelbar uppsägning: automatisk förnyelse stoppas, så inga fler pengar rör sig, och leverantörens egen post går ut enligt sitt eget schema i stället för att ryckas bort under en återbetalning den just behandlat.
Med ett undantag, som ägaren märkte innan lansering. Om paketet du återställdes till körs på samma leverantörsprenumeration skulle avbokning lämna dig med ett paket som aldrig förnyas och aldrig fakturerar — precis spegelbilden av felet detta finns för att rätta till, och lika tyst. Det fallet namnges nu uttryckligen och lämnas orört.
Bara betalningen som öppnade perioden kan avsluta den
En uppgradering mitt i månaden hos den här leverantören fakturerar en liten proportionell skillnad mot den befintliga raden. Att återbetala den lilla avgiften skulle ha hittat en prenumeration, avbrutit allt, letat efter ett tidigare paket, inte hittat något, och släppt kunden till gratis — på grund av en justering mitt i månaden. Nu kan bara betalningen som öppnade den nuvarande perioden avsluta den. Allt senare är en fråga om pengar, och huvudboken har redan svarat på det.
Alla fyra vägar, inte bara den aktiva
Tre av de fyra betalningsprocessorer vi stöder har ingen idag. Återkallelsen hade kunnat rättas bara på den aktiva, och det var nära att bli så. Invändningen som ändrade detta: den dag en av de andra återaktiveras kommer hålet tillbaka, och då kommer ingen längre komma ihåg att det någonsin fanns.
Detta arkiv har levererat samma sorts glömda fälla sex gånger. Återkallelsen lever nu bakom ett enda kontrakt som alla fyra processorer anropar på en rad — så en framtida förvaltare som återaktiverar en av dem får det utan att behöva ha läst något av detta.