İlk denemenin öldüğü bir webhook olayı yeniden satın alın ve bir SDK'yı reddetme
İşsiz bir satır üzerinde kaybedilen bir iddia her zaman 500 cevap verdi, bu yüzden bir olay İlk deneme başarısız oldu ( benzersiz-konstraint yarışı içeride Fatu...
Sadece başarısız bir suçlama dunning başlar ve Stripe, donning eylemlerinden önce aynı fikirde olmalıdır
fatura.finalized durum=open with an amount because for every bill.finalized carrys status=open with an amount because for every Yük denenmeden önce otomatik şar...
Aynı-kommit-rebuild muhafızı asla ateş edemezdi ve sindirim kontrolü başarısız oldu
Her iki koruma da hiçbir şey dağıtmayan bir dağıtmaya karşı, bu yüzden boru hattı pods önceki sindirmedeyken iki yeşil iş bildirdi. İşte bu nasıl billingservice...
Bu binayı isimlendiren bir katalog satırları satış için değil
ServiceTypeConverter bilinmeyen bir uygulama idına atmayı bıraktı ve onu çözmeye başladı Bir hizmetin ne yapması gerektiği olan null – her bir kavanozun içindek...
Bir fiyat Stripe asla bir hata olduğunu duymadı, bir sessizlik değil
Uzlaşıcı, kataloga karşı haritalandı ve erken döndü Her ne zaman hiçbir şey haritalandı. Bu yüzden katalog kazandı çünkü Fiyatlar ilk olarak yaratılmış hiçbir ş...
Ekranın ne dediğini şarj edin ve nasıl davranmayı reddetme
Planların ve Billing konsolunun canlı Stripe anahtarlarına karşı bir denetim, denizm anahtarları buldu Ekran ve Stripe her yönde bir kez kırıldı ve sessizce ses...
Yemin ederim, etiketle değil
Önceki taahhüt, "set image" sessiz bir no-op olarak durur. Bu, iddia ediyor Sonuç: rollouttan sonra, etiket kayıt ve kayıtta bir sindirme ile çözüldü. Koşu pods...
Aynı şeyin yeniden inşası hiçbir şey dağıtmadı ve başarı rapor etti
Görüntü, SHA ile etiketleniyor, bu yüzden aynı işi yeniden inşa etmek Aynı bir görüntü referansı. "kubectl set image" sonra hiçbir şey değiştirmez, İşsizlik asl...
Eski pod'un ne yaptığını bitirelim
Deploys, talepleri yakalamak için her hizmetin tek pod'unu değiştirdi Uçuş. Filoda uygulanan üç ayar: - Ön Durak, işlemden önce 10 uyuyor SIGTERM. Kubernetes p...
Stop offering the internal platform-owner plan for sale
listPlansForMarket filtered on isActive alone, and active is not the same as on the menu. OWNER_UNLIMITED ("Platform Owner — Internal") is active, carries no pr...
Platform veyag kendi kataloguyla kapılamıyor
Platform ya dag, "SioPBX Hosting add-on"a kendi kendi kendi başına "Requires the KamoPBX Hosting add-on" söylendi. Telefon-server ekranı, ek olarak yayımlar. P...
Paylaşılan e-lib e-postasını izleyin. fatura paketi
@EnableJpaRepositories paketleri açıkça listeler, bu yüzden MailboxBillingDayRepository görünmezdi ve hizmet haklı olarak başlamayı reddetti - onu kaldırarak ya...
Webhook idempotency açığını kapat BL0'ın son incelemesi bulundu
1 (Critical): Redelivered Stripe olayında kaybeden bir iddia Bir satır vardı, önceki denemenin bittiği değil. Bir iddiada bulundu Arkada geçici bir başarısızlık...
Anahtar ephemeral per-attempt Stripe yaratma
Round 2 inceleme (Ruling 17) "Bu bir yaratı mı?" gerekli ama Yeterli değil. Önemli olan soru: Bu konu Temel 24h pencere içinde bir kez daha meşru olarak oluştur...
Keys Stripe'e ait, mutasyonlarda değil, sadece mutasyonlar yaratır
Round 1 inceleme (Ruling 15) Eleştirel bulundu: istikrarlı bir idempotency Bir güncelleme/cancel/attach/detach'in anahtarı bir koruma değildir, bu bir boğadır. ...
Her Stripe idempotent yazıyor ve önemli bir anahtar olmadan yeni bir tane inşa edemez
Gerçekten başarılı olan bir Stripe yazmasında bir soket zamanı Bizim tarafımızdan hoşnutsuz, değil bir şeyden; olmadan idempotency key the retry create a second...
Para yazısı ile işlenmiş bayrağı, bunun önünde değil
sonuç olarak, REQUIRES NEW idi, bu yüzden işlendi = doğru işlendi. handler'in parası hala askıya alınmamış dışlardaydı İşlem. JpaTransaction Yönetici askıya alı...
Seçilmiş planı zaten dahil etmeyi bırak
Katalog her zaman bir plan paketlerini eklemiştir, içinde **************** – Business and Enterprise taşır Video konferans, AI asistanı, HR sistemi ve e-signatu...
Kendi J VM heap tavanının üzerinde pod boyut [skip ci]
Görüntü JVM ile başlar -XX:MaxRAMPercentage=70 -XX: + Her zaman Ekran, bu yüzden Tek başına konteyner limitinin% 70'ini alabilir ve ön dokunuş her şeyi taahhüt ...
İptal etmek gelecekteki faturayı durdurur ve başka hiçbir şey
Artık "immediate" bayrağını gerektirmez ve müşteri girişi yolu soramaz biri için. Gerçek geçiş aynı gün, Stripe'i sorduğunda aboneliği sona erdirdi. Hiçbir pror...
Bir yapılandırma varsayılan varsayılan varsayılan olarak paylaşılan bir haç göndermeyi bırak
Platform'un paylaşılan şifresi, DB PASSWORD ve geri dönüş olarak pişirildi. MINIO ROOT PASSWORD, bu yüzden bu repo'da ve yerleşik görüntüde de yaşadı. kümede or...
Bir üyenin fatura erişimini başka bir yere eklemeyi bırakın
add(), üyenin sırasını diğer herhangi bir hesapta, küresel eşsiz bir eşsiz tatmin etmek için sildi Artık yok. Birini ikinci bir billing hesabına eklemek şimdi a...
Bir sub-org bunun için ödediği hesapa ulaşalım
HesapSubscription kasıtlı olarak maaşçıyı organizasyondan ayırır, kimin üyeler koltukları tüketiyor ve oto-provisioned hesaplar üst düzey düzeyde oturuyor KamoC...
Katalogun ne dediğini şarj edin, bir kez, doğru miktar için
Her şeyin gerçek para taşıdığının beş kusuru, artı alt kaynak IDOR onların altında. Billing döngüleri. ANNUAL fiyatları, her ay depoda Stripe'e gönderildi Bir ...
Tanrı modunu veritabanına karşı onaylayın, bir forged başlık değil
HesapOrgScopeInceptor short-circuited every org and member check on the ham X-Tanrı-Mode-Active başlığı ve kamo-internal's billing proxy kopyaları Doğrudan inbo...
CockroachDB-sadece PostgreSQL'in reddettiği SQL
CockroachDB metin türü STRING; PostgreSQL ve YugabayDB TEXT kullanır. Yerel sorguların 25'i hala CAST (x AS STRING) ve ::STRING, 'tip dizesi ile başarısız olan ...
Her organizasyona gerçek bir işlem sınırı verin
StorageSnapshotSweep.catchUp @Transactional(REQUIRES NEW) taşıdı ve adı verildi. süpürücükten (aynı bean). Bahar, @Transactional'ı bir proxy aracılığıyla uygula...
Bir hesapta kendini zorlamak, sadece org sınırı değil
Cross-org kapısına kadar, şimdi kuralın karar verdiği: Yönetebileceğiniz bir organizasyon içinde yönetebileceğiniz Kendi fatura hesabınız ve bir organizasyon sa...
Bir organizasyonun başka bir organizasyona ulaşmasını durdurun
/api/billing/accounts listelerini X-Org-Id başlığıyla kapsar, ancak her rotanın altında /{accountUid} doğrudan yoldan alındı ve kime ait olduğunu asla kontrol e...
"Bu satılabilir" uygulama kataloğundan cevap verin, enum değil
Erişilebilirlik iş zamanında operatör-editable hale geldi, bu yüzden HizmetType.getStage() anlamına geliyordu. MLOS in Apps ve Özellikler Planlarda ve Billing s...
Bir uygulama hibe etmeden önce ek kodlar
aktif addon codes doğrudan istek vücudundan yazılmıştır. Bu zararsızdı, hiçbir şey okumadı sütun, ama şimdi bir yetki girişidir: bir ek-on bu uygulamayı bir Ser...
Planlardan ve Billing kataloğundan yayınlanmamış uygulamalar
**************** bir müşterinin aboneye ne seçtiği sekmeyi geri döndürür, Bu yüzden hala mevcut olmayan listede bir ürün sunmamalıdır - aynı kural halka fiyat K...
PlatformAccountSummary'nin tel isimlerine de ek tutun
Aynı Lombok / Jackson PlatformOrgRow olarak tehlike: TopLevel() onun "is"ini kaybeder Serileştirme, bu yüzden DTO ‘topLevel’ /’ platformÜrününü tele koyarken fr...
Telin üzerine ek tutun TopLevel/isPlatformÜrün
Lombok, "boolean" için TopLevel' alanı ve Jackson “is’in ön eki, bu yüzden canlı uç noktası “topLevel” ve serileştiriliyordu. “platformÜrünü” müşteri okurken **...
Declare güvenlik maççılar açıkça bu yüzden hizmet başlayabilir
Servis 2026-07-03'den beri dağıtmadı; Kazadan beri her pod Kurulumdan önce: Bu yöntem, bu desenlerin Bahar MVC modellerinin veya değil ... servis bağlamınızda ...
Harden the kubectl download against flaky egress [skip ci]
dl.k8s.io, koşucunun egress intermittly damla orta devre dışı bırakıyor: curl: (56) OpenSSL SSL read: decryption başarısız ya da kötü kayıt mac Bu, aksi takdird...
Seriize Long ids as strings to stop org-id hassas kaybı
Org ids are CockroachDB unique rowid() değerlerini aşıyor JS MAX SAFE INTEGER. BillingService onları çiğ JSON olarak seriledi Sayılar, bu yüzden kamo-internal's...
Sayacı için kayıt esign havuzları
EsignMeterSubmissionService'ın EsignUsageRecordRepository'a ihtiyacı var, ancak @EnableJpaRepositories com.kamo.z.shared.esign.repos'u taramadı, bu yüzden bağla...
Backmetered add-on fiyatlar with a Billing Meter
Stripe (> = 2025-03-31.basil) mirası reddediyor type+aggregate usage sayacı edilen model (metreli fiyatlar metreler tarafından desteklenmelidir), bu yüzden USAG...
@JsonProperty to is*-prefixed boolean DTO fields
Lombok, Xxx() adı verilen boolean alanları için raflar.Xxx. Jackson, önde gelen 'is'ten gelen şeritler ve onları seriliyor 'xxx' yerine 'isXxx' olarak, bu yüzde...
Org listesinde abonelik- hedefleme hesapları ekleyin
listeForOrg artık abonelikleri hedef alan hesapları döndürür İstenilen veyag - sadece doğrudan buna ait hesaplar değil. Multi-org Ödeme Hesabı KamoCRM üst düzey...
Use **************************** İlkel
organizasyonOwner TeamMember'de ilkel bir boolean, bu yüzden Lombok- Oluşturulan erişimci,OrganizasyonOwner() almaIsOrganizasyonOwner() değildir. BillingGroupMe...
Expose Trade aboneliği GET /subscriptions /current
Hiçbir Stripe ayna çizgisi var olduğunda, aktif ticaret ticaretini çöz AbonelikRecord (e.g. COMP hibeleri), ödemeMethod ve Plan özellikleri. Fixes Apps ayarları...
Kargoyu gördüğünüz gibi?
İş alanınızda bu güncellemelerden her biri otomatik olarak. Ücretsiz başlayın ve haftadan sonra büyümesini izleyin.