Un prezzo sullo schermo, e un acquisto che non può fallire silenziosamente

Fixkamo-internal
Spegnimento
6 settembre 2026 alle ore 22:17 UTC
Autore
Kamo
Impegno
b0bb3a2

La console ha mostrato un cliente tre numeri diversi per un piano e li ha lasciati comprare senza carta. Rendendolo contro il catalogo dal vivo, Business a cinque sedili: la carta di piano intestata $79.73 un sedile sotto un distintivo "33% off", il stima qui sotto ha totalizzato $595.00, e BillingService avrebbe addebitato $360 — nessuno di loro il prezzo di qualsiasi cosa. Questa è la metà della superficie; BillingService metà è 5cfc969. buildQuote è ora l'unico posto un prezzo è risolto. Ci vuole la promozione e Per quanto riguarda il piano, il piano e' esattamente quello che fa. sottototale del sedile, dopo il termine di sconto, e non per add-ons — così le carte e il totale sono gli stessi aritmetici piuttosto che due implementazioni di esso. E anche cita la tassa di avvio $99-per-seat, che nessuna superficie menzionata: un cinque posti ordine commerciale dice "Due oggi $893.65" dove diceva "$595,00 al mese" e nient'altro. Per-mailbox add-ons sono valutati sul numero casella di posta invece di cadere fino al conteggio del sedile, e citare nulla a tutti quando questo conteggio è ignoto piuttosto che con fiducia citando la cosa sbagliata. Un piano pagato ora ha bisogno di una carta. Nulla ha chiesto uno e niente controllato: il console postato l'acquisto, Stripe ha aperto un abbonamento non poteva caricare e ha risposto `incompleto` — una risposta ordinaria, non un errore — e lo schermo ha detto "Il tuo piano è aggiornato" su un abbonamento che ha pagato per nulla e avrebbe essere cancellato entro il giorno. Il pulsante di conferma è disattivato fino a quando non c'è una carta, con una linea dicendo così e un link alla scheda che lo fissa. L'intestazione legge `status` ora. INCOMPLETTA, PAST DUE, CANCELED e PAUSE reso identico a un piano sano perché si è ramificato su `source` da solo; ciascuno ha il suo stato dicendo ciò che è vero, che cosa significa per l'accesso, e che cosa a fare. Un processo live ha anche uno — un'organizzazione di prova ha plan code GRATIS mentre il motore di ammissione gli concede tutto, così cadde in "il vostro l'organizzazione è sul livello libero" durante l'utilizzo di ogni app a pagamento, con la scadenza che in realtà non importa a esso da nessuna parte sulla pagina. Altrove sulla scheda: cancellare l'abbonamento di un'organizzazione era un nudo onClick senza conferma e senza cattura, quindi un guasto sembrava un pulsante che non ha fatto nulla — utilizza lo stesso dialogo che il pannello di seduta self-serve fa, che i nomi a cui corre la copertura del giorno. Rimuovere una carta è confermato, e dice quando è a quello a cui l'abbonamento viene addebitato. Il campo "Account Title" è andato: era modificabile, Salva il successo segnalato e displayName è derivato lato server dal nome di fatturazione — nessuna colonna era mai dietro di esso. La finestra di dialogo creare-account non più richiede un titolo che scarta. Due scatole "Member ID" che vogliono un id di diciannove cifre sono raccoglitori di directory. E `?sub=organizzazione` — l'URL un proprietario copia fuori la loro barra degli indirizzi — non rende più una pagina vuota per tutti gli altri. I soldi e le date sono formattati per il lettore: gli importi sono stati fissati en-US/USD su un prodotto che spedisce 21 locali e un catalogo che trasporta una valuta per piano, linee di preventivo sono stati assemblati come concatenazione stringa inglese, fattura le date erano l'ISO grezzo, e gli stati propri di Stripe sono stati stampati verbatim — "incolletto" si legge come un'accusa piuttosto che come "non potevamo accusare il vostro carta". Inoltre trasporta i progetti /myplan preselect-2d consegnati: ?plan=BUSINESS arriva con Business scelto, tramite sceglierePlan in modo che il conteggio del sedile sia bloccato il piano lo stesso modo in cui un clic è, e un link denominazione Enterprise apre le vendite dialogo piuttosto che apparire per non fare nulla. 61 test nella suite di fatturazione, 32 di loro nuovi; typecheck clean; no new lint errori contro una linea di base HEAD. La copia è in kamo-translation-dictionary 4fbd8e31, spinto prima così la guardia di costruzione ce l'ha.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo