Aktive und Leere Tabs im Verzeichnis der Plattform org
Die Registerkarte Organisationen der Konsole wird nun in aktive und lässige Sub-Tabs unterteilt. A ungültige Organisation ist orgs.is_active = FALSE (durch Secu...
Wiedereinen Webhook-Ereignis, dessen erster Versuch gestorben ist, und verweigern Sie eine, die das SDK nicht lesen kann
Ein Verlustanspruch auf eine unbearbeitete Reihe immer beantwortet 500, so ein Ereignis dessen erster Versuch scheiterte (ein einzigartiges Wettrennen innerhalb...
Nur eine fehlgeschlagene Ladung beginnt zu dunning, und Stripe muss zustimmen, bevor dunning Handlungen
invoice.finalized trägt status=open mit einem fälligen Betrag für jeden automatische berechnete Rechnung, bevor die Gebühr versucht wird, und die Rechnung Handl...
Der Gleich-Commit-Wiederaufbau-Wächter konnte nie feuern, und der Digest-Check fiel offen
Beide Schutzmaßnahmen gegen einen Einsatz, der nichts einsetzt, waren träge, so dass die Pipeline berichtete zwei grüne Jobs, während die Hülsen auf der vorheri...
Eine Katalogreihe, die eine App benennt, die dieser Build nicht lösen kann, steht nicht zum Verkauf
ServiceTypeConverter hörte auf, auf eine unbekannte App-ID zu werfen und begann, sie zu lösen um zu null, das ist, was ein Dienst tun muss - die Enum-Schiffe in...
Ein Preis, von dem Stripe noch nie gehört hat, ist ein Fehler, kein Schweigen
Der Versöhner verglich die Preise mit dem Katalog und kehrte vorzeitig zurück wann immer gar nichts abgebildet wurde. So ein Begriff, den der Katalog seit dem g...
Aufgeschrift, was der Bildschirm sagt, und verweigern, anstatt vorzugeben
Eine Prüfung der Plans & Billing-Konsole gegen Live-Streifen-Tasten fand die Naht zwischen dem Bildschirm und Streifen in jede Richtung auf einmal gebrochen, un...
Die Startgebühr eines Plans und das Live-Angebot auf dem Draht
PlanDto trug nur die wiederkehrende Rate, so dass jede Oberfläche zitiert einen Plan einen Preis die Kunde würde nicht berechnet werden: KamoCRM Startgebühr ist...
Ein Endpunkt hinter der eigenen Planseite des Kunden
GET /api/billing/self/plan beantwortet alles /myplan macht: der Plan, was die Organisation kann tatsächlich verwenden, den Katalog zu vergleichen, Sitze und ihr...
Beweisen Sie den Einsatz durch Digest, nicht durch Tag
Die vorhergehende Commit-Demitenung stoppt "Set-Image" als stilles No-Op. Dies behauptet, die Ergebnis: Nach dem Rollout wird der Tag auf eine Verdauung bei der...
Ein Umbau der gleichen Verpflichtung eingesetzt nichts und berichtete Erfolg
Das Bild ist mit dem Commit SHA markiert, so dass der Wiederaufbau der gleichen Commit produziert eine identische Bildreferenz. "kubectl Set Bild" dann ändert n...
Rechnungen Sie die Startgebühr auf beiden Wegen zu einem Plan, und Rekord ausgehandelten Bedingungen
Zwei Routen erreichen den gleichen Plan und nur eine von ihnen war im Begriff, die neue laden Startgebühr pro Sitz. Ein verkaufspflichtiger Auftrag über den Abo...
Schließen Sie jeden Geld bewegenden Sweep, und laufen zwei Hülsen
BillingService lief ein Pod und seine sieben geplanten Sweeps waren nur wegen es korrekt. Dort ist kein ShedLock überall auf dieser Plattform, so dass eine zwei...
Lassen Sie einen Rollout beenden, was die alte Hülse tat
Deploys ersetzt die einzige Hülse von jedem Dienst mit nichts, um die Anfragen in fangen Flug. Drei Einstellungen, die auf der gesamten Flotte angewendet werden...
Hören Sie auf, den internen Plattform-Besitzer-Plan zum Verkauf anzubieten
listPlansForMarket gefiltert auf istActive allein, und aktiv ist nicht das gleiche wie auf das Menü. OWNER_UNLIMITED ("Plattform-Inhaber - Intern") ist aktiv, t...
Servieren Sie das laufende Angebot, und sagen, ob ein Sitz ist eigentlich PAID für
Fügt GET /markets/{id'/promotion hinzu. Es gab keine Möglichkeit für eine In-App-Kauffläche zu wissen, dass ein Angebot überhaupt lief - die Marketing-Website l...
Bill die Drei-Jahres-Befristung, und zitieren Sie seine Rate auf die Konsole
BillingCycles gewinnt TRIENNIAL, ausgedrückt zu Stripe als drei JAHRE statt 36 MONTHs, so dass die Erneuerung verfolgt die Anmeldejubiläum - der gleiche Grund A...
Per-Server-Linien auf der Erweiterungen Zusammenfassung
Die Telefon-Server-Erweiterungen Registerkarte zeigte die organisationsweite Figur und nichts anderes, so dass ein leerer KamoPBX-Server angezeigt "21 abrechnun...
Die Plattform org ist nicht durch den eigenen Katalog gated
Der Plattform org wurde gesagt, "Requires the KamoPBX Hosting Add-on" auf eigene Faust Telefon-Server-Bildschirm, für ein Add-on veröffentlicht. Es besitzt den...
Verweigern Sie ein Self-Serve Enterprise-Abonnement
Das Unternehmen wird verhandelt. Verstecken der Preis ist Präsentation; dies ist die Grenze. Eine Anfrage zur Benennung des Enterprise-Plans wird abgelehnt, es ...
Bill Telefon-Service durch die Erweiterung
PricingModel.PER_EXTENSION, eine eigene reservierte Menge, ein Allokator, nächsischer Versöhner, ein Entfernungstor und die zusammenfassende API - der Telefon-Z...
Scannen Sie das Paket von email.billing
@EnableJpaRepositories listet Pakete explizit, so MailboxBillingDayRepository war unsichtbar und der Dienst weigerte sich, geradezu zu starten - gefangen durch ...
Rebuild gegen aktuelle Kamo-shared-Bibliothek
CI-Klone shared-lib bei der Bild-Build-Zeit. Dieser Service wurde zuletzt vor Shared-lib gewonnen GMAIL_PERSONAL und OUTLOOK_PERSONAL, so dass seine eingesetzte...
Rechnung E-Mail pro Briefkasten, versöhnt nächtlich
Menge wird Server-Computing unter einem reservierten Schlüssel ein Anfrage-Leichnam kann erreichen, und durch die bestehende Änderung Pfad geschoben - so Stripe...
Schließen Sie die webhook idempotency Lücke BL0 endgültige Überprüfung gefunden
Finding 1 (Critical): ein Verlustanspruch auf eine neu gelieferte Stripe-Veranstaltung nur bewiesen, dass eine Reihe existierte, nicht dass der vorherige Versuc...
Nicht Schlüssel ephemere pro Versuch Streifen schafft
Runde 2 Überprüfung (Ruling 17) gefunden "ist dies eine Schaffung?" ist notwendig, aber nicht ausreichend. Die Frage, die zählt: kann dieses Thema legitimerweis...
Schlüssel gehören auf Stripe schafft nur, nicht auf Mutationen
Runde 1 Review (Ruling 15) fand die Kritische: eine stabile idempotenz Schlüssel auf ein Update/cancel/attach/detach/detach ist keine Sicherung, es ist ein Fehl...
Machen Sie jede Streifen schreiben idempotent, und scheitern Sie das Build auf einem neuen ohne Schlüssel
Ein Socket Timeout auf einem Streifen schreiben, dass tatsächlich gelungen ist ununterscheidbar, von unserer Seite, von einem, der nicht war; ohne idempotency S...
Verpflichten Sie die verarbeitete Flagge mit dem Geld schreiben, nicht vor ihm
markVerarbeitet wurde REQUIRES_NEW, so dass es verarbeitet=true, während die Handler Geld schreibt waren noch nicht in der suspendierten äußeren gebunden Transa...
Prove Bibliothek HQL parses auf dem Hibernate dieser Service läuft
Kamo-shared-Bibliothek baut auf Boot 3.3.4 / Hibernate 6.5 auf Boot 3.1.5 / Hibernate 6.2.13. Die bibliothekseigenen HQL-Tests bestehen daher vakant für die ält...
Machen Sie eine wiederholte Stripe Veranstaltung ein No-op
Fügt BillingWebhookEventClaimService auf seiner eigenen Bohne hinzu, mit REQUIRES_NEW auf jede Methode, und verdrahtet es in ProzessEvent vor dem Versandschalte...
Pin die optionale Signatur-Header und decken alle drei Ausfallzweige für Body Lecks
Antwort Stripe webhooks mit dem richtigen Status und nie Echo eine Ausnahme
Weigern Sie sich, einen Stripe-Webhook zu verarbeiten, der nicht verifiziert werden kann
Pin kamo-shared-Bibliothek 1.6.0
Die Bibliothek bewegte sich auf 1.6.0, während jeder Verbraucher auf 1.5.0 blieb. Consumer CI baut die Bibliothek von einem frischen Klon in eine kalte ./.m2 un...
Stoppen Sie den Verkauf von Add-ons der gewählten Plan bereits enthält
Der Katalog hat immer aufgezeichnet, welche Add-ons ein Plan-Bundles, in ************ - Business und Enterprise tragen Videokonferenzen, KI-Assistent, das HR-Sy...
Veröffentlichen Sie die bezahlte Konvertierung für verfolgte Organisationen
Beide Wege, die BillingSourceType.PAID jetzt veröffentlichen marketing.visitor.paid, weil das Einhaken nur eine leise verfehlt die Hälfte des Verkehrs . Account...
Größe der Hülse über seiner eigenen JVM Haufen Decke [skip ci]
Das Bild startet die JVM mit -XX:MaxRAMPercentage=70 -XX:+AlwaysPreTouch, also Heap allein kann 70% der Container-Limit und Pre-Touch hält jede verpflichtet Sei...
Entscheiden Sie den Plattformzugang mit dem Shared-Deser
@PlattformAdminNun nennt jetzt die Plattform richtig, die es erfordert (defaulting to MANAGE_ORGANIZATIONEN, worum es bei der Plattformfläche dieses Dienstes ge...
Tragen Sie den Erneuerungstermin auf der Abdeckung und Gruppen-Nläge
Beide Oberflächen melden nun aktuellPeriodEnd und cancelAtPeriodEnd. Das Datum ist, was eine Stornierungsbestätigung muss eigentlich sagen: "Sie behalten Ihren ...
Stornierung stoppt zukünftige Abrechnung und nichts anderes
Stornierung nicht mehr dauert eine "sofortige" Flagge, und keine Kunden-Route fragen kann für einen. Passing es wahr zu Ende ging das Abonnement am selben Tag, ...
Ein Plan pro Organisation, eine 25-sitzige Enterprise-Obergrenze und eine Möglichkeit, nicht mehr zu zahlen
Der Plan ist jetzt eine Entscheidung auf Organisationsebene und nichts anderes kann ihn außer Kraft setzen. Einen Selbstzahler oder einen Gruppenmanager ihre ei...
Lassen Sie den Plan einer Gruppe annulliert werden und hören Sie auf, für eine Person doppelt zu zahlen.
Drei Lücken in dem, was zuletzt ausgeliefert: Eine Gruppe mit einem Plan konnte nie entfernt werden. delete() weigert sich, während einer Live- Abonnement exis...
Machen Sie Abrechnungsgruppen arbeiten Ende zu Ende, und stoppen Selbstzahlung Gebühren für nichts
Eine Gruppe kann jetzt Leute sammeln, einen Plan auf der eigenen Karte ihres Managers kaufen und seine Sitze aus. Nichts davon existierte: die einzigen Operatio...
Rebuild gegen die umbenannte Pay-Group-Tabelle
Das Unternehmen wechselte von billing_groups zu billing_pay_groups, nachdem es sich herausgestellt hatte Die ehemalige ist eine Live-Vermächtnis Tabelle mit ein...
Stoppen Sie den Versand eines gemeinsamen Anmeldedaten als Konfigurations-Standard
Das gemeinsame Passwort der Plattform wurde als Fallback für DB_PASSWORD und MINIO_ROOT_PASSWORD, so lebte es in diesem Repo und im gebauten Bild sowie in der G...
Sagen Sie den Leuten, dass ihre Zahlung fehlgeschlagen ist, und stellen Sie das Abonnement herunter
Die Dünung, die nicht existierte. bill.payment_failed schrieb eine Reihe und kehrte zurück: keine E-Mail, keine Flagge, keine Änderung des Staates, und billing....
Lassen Sie ein Mitglied einen eigenen Sitzplatz kaufen und ein Body-Parameter-Loch schließen
Self-Pay hatte keine Route innerhalb der Konsole. Alles auf der Abrechnungsfläche ist Konto-förmig - Sie müssen bereits eine Kontomitglied-Reihe vor Plänen & Bi...
Org Politik und Abrechnung Gruppe APIs
Wer innerhalb einer Organisation Kamo bezahlen kann, ist nun verantwortlich und sorglos. Beide Routen sind org-scoped und daher absichtlich außerhalb /api/billi...
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.