プラットフォーム org ディレクトリの Active タブと Void タブ
コンソールの組織タブがアクティブとVoidサブタブに分割されました。 ツイート 無効な組織は orgs.is active = FALSE (SecurityService の void による設定) です。 endpoint; ディレクトリは、Void タブの 1 つをリストする 1 つの場所であり、 そのため、オペ...
最初の試みが死亡したWebhookイベントを再実行し、SDKを1つ拒否する
処理されていない行に対する失ったクレームは、常に500に答えたので、イベント その最初の試みは失敗しました(内部のユニークな競争) invoice.created/finalized/paid trio, 一時的なDBエラー, 失敗時に コミット)は再び実行できません:すべての赤みがクレームを失いました 3日間のリトラ...
失敗したチャージのみがダニングを開始し、ストライプはダニング行為の前に合意しなければなりません
invoice.finalized は、すべての値のせいで status=open を実行します。 充電が試みられる前に自動満たされたインボイスおよびインボイス ハンドラは残忍な時計を始め、支払いを失敗した 手紙は、任意のインボイスイベントタイプの単独でそのステータス。 今すぐ時計 請求書にのみ起動します。 支払い f...
同じ構成のガードは火を起こさないことができず、消化器は開いて失敗しました
何もデプロイされていないデプロイに対する保護も、パイプライン 前の消化器にとどまるポッドが2つの緑色のジョブを報告しました。 それは、 kamo-shared-library でサービスタイプ 35 の名前に 1 日 の課金サービス が実行されます。 すべての信号が言った間、すべての組織のための計画カタログ全体を500...
このビルドが解決できないアプリを命名するカタログ行は販売していません
ServiceTypeConverter は、未知のアプリ ID でスローし、それを解決し始めるのを止めました サービスが何をすべきかであるnullに - 各瓶の中のenum船 カタログは共有されるので、最後の読者が持っている前に新しいアプリはデータベースに常にあります 2026-09-08 にこの全カタログを載せて再...
価格のストライプは、決して失明ではなく、欠陥であると聞いていません
レコシラーは、カタログにマップされた価格を比較し、早期に返された 誰にでもマップされていない それでは、カタログが以来得た用語 価格が最初に作成されました。 オンカモCRMだった すべてのTRIENNIAL価格: 計画は3年間$ 49と$ 99で評価され、 ピッカーは言葉を提供し、これまでに作られた唯一のもの ストライ...
画面が何を言うかを充電し、先頭ではなく拒否します
ライブストライプキーに対するPlans & Billingコンソールの監査により、シームが見つかります 画面とストライプが一度にすべての方向に壊れ、サイレント お問い合わせ 組織が支払ったサブスクリプションを完了したことがないため、 これらの1つは最初の実質の顧客に消火しました。 お客様の声 広告されたオファーは適...
プランのスタートアップ料金と、ワイヤーでライブオファー
PlanDtoは再発率だけを運んだので、すべての表面は価格を引用した計画を引用 カモCRMのスタートアップ料金は$ 99です。 1ヶ月前の5シートスターター注文は請求されます。 公開価格設定ページは常に それに示しました。アプリ内面は邪魔をしませんでした。 プランのペイロードは、現在、同じによって解決された市場で実行...
顧客の計画ページの背後にある1つのエンドポイント
GET /api/billing/self/plan は、すべての /myplan のレンダーに答えます。 組織は、実際に使用することができ, 比較するカタログ, シートとそのロスター, 保管、更新、および交渉契約。 ロード状態を超えた理由のために、6つの要求ではなく1つ:アクセス層 ブラウザでは正直に決定できません...
タグではなく、ダイジェストによるデプロイを生成
前のコミットは、 `set image` をサイレント no-op と停止します。 これは、 結果: ロールアウト後、タグはレジストリでダイジェストに解決され、 実行中のPodはそれに対してチェックされます。 Podが画像を実行していない場合、この実行 生成されたビルドは、レポートの成功の代わりに失敗します。 タグが...
同じコミットの再構築は何も展開し、成功を報告しました
この画像はコミット SHA でタグ付けされます。 同一の画像参照。 `kubectl set image` は何も変更しません。 デプロイメントは触れず、「ロールアウト状態」はすぐに反対に成功します OLD Pod と、このパイプラインは何もデプロイした成功したデプロイを報告します。 サービスが再構築されなければなら...
両ルートのスタートアップ費用を計画に請求し、交渉された条件を記録する
2つのルートは同じプランに達し、そのうちの1つだけが新しいものを充電するつもりでした 1シートスタートアップ料金。 サブスクリプションサービスを通じた売り上げ注文請求書, 決してストライプに触れない; セルフサービスチェックアウトはチェックアウトに直進します セッションは、誰が自分自身に署名したかを誰も請求しません。 ...
すべてのお金移動スイープをロックし、2つのポッドを実行します
BillingService は 1 Pod を 1 つ実行し、その 7 つのスケジュールされたスワップは、そのためだけ正しかった。 そこには このプラットフォームではShedLockがなくても、2つ目のレプリカが2回実行されます チェック: ************************ 支払いプロバイダにメータ...
古いポッドが何をやっていたか、ロールアウトフィニッシュしてみましょう
デプロイは、各サービスの唯一のPodを、リクエストをキャッチするために何も交換しました フライト 車両全体に適用される3つの設定: - プロセスがSIGTERMを見る前に、プレストップスリープ10秒。 Kubernetesは、そのPodからPodを削除します EndpointSlice と信号を同時に、Traefik...
Stop offering the internal platform-owner plan for sale
listPlansForMarket は isActive 単独でフィルタリングされ、アクティブは同じではありません メニュー OWNER UNLIMITED (「プラットフォーム所有者 — 内部」) はアクティブで、 値行と is public=false で、Plans に提供されている すべての行がカードである組...
ランニングオファーをサーブし、シートが実際にPAIDであるかどうかを言う
GET /markets/{id}/promotion を追加します。 アプリ内購入面の方法はありませんでした オファーがすべてで実行されていることを知っている - マーケティングサイトは、プロモーションを読んで 公開カタログプロキシ、kamo-internal が等しくなかったので、プランと請求 kamocrm.co...
3年間の期間を請求し、そのレートをコンソールに引用
BillingCycles は TRIENNIAL を 3 年ではなく、Stripe に表現しました thirty-sixの月は、更新がサインアップ記念日を追跡するので、同じ理由 年間1年。 今月は列に委任され、数を所有しています。 ここで、両方のコピーが持っていたサブスクリプションサービスで2回以上書かれていました。...
拡張子のサマリー上のサーバー行
携帯電話のサーバーの拡張タブは、組織全体の図と 他に何もないので、空のKamoPBXサーバーは「21課金拡張機能」を表示します。 $63.00 /月" — 21 は、同じ org の他の場所で FreePBX サーバー上にいます。 /api/billing/extensions/summary が `instance...
プラットフォームのorgは、独自のカタログによってゲートされていない
プラットフォーム org は、KamoPBX Hosting add-on を独自に要求する 電話サーバ画面、公開するアドオン用。 プランのカタログ、アドオンのカタログ、ストライプの商品はすべて所有しています。 組織は、誰がそれを請求しないから販売されます。 Active addon code は "" ではなく "...
セルフサービスエンタープライズサブスクリプションの再利用
企業は交渉されます。 価格は提示されます。これは 境界。 企業計画を要求するネーミングは、呼び出し側が拒否されます スタッフ **************** なので、計画コードを推測して投稿する コンソールを読み込み、同じ回答を直接取得します。 CALLER-SUPPLIED プランコードのみの火災。 ナイトリー・...
延長によるビル電話サービス
PriceModel.PER EXTENSION、独自の予約数量キー、アロケータ、 ナイトリー・レコシラー、除去ゲート、サマリーAPI - 携帯電話のツイン データがどこにいてもメールボックスの作業が異なります。 複数のインスタンスは、そのすべてを通る差です。 orgは実行できます KamoPBX サーバと Ring...
共有リブメールをスキャンします。 リポジトリパッケージの請求
@EnableJpaRepositoriesはパッケージを明示的にリストしているので、MailboxBillingDayRepository 目に見えないサービスでは、起動を中止しました。 任意のユニットテストではありません.
現在のkamo-shared-libraryに対する再構築
CI クローン共有ライブラリをイメージビルド時に作成します。 過去にこのサービスが構築されました 共有lib は GMAIL PERSONAL と OUTLOOK PERSONAL を取得したので、そのデプロイされた enum プロバイダーの値をパースできません。EmailService は書き込むことができます。 個...
ビルメール/メールボックス、連泊
数量は、リクエストボディができない予約キーの下にサーバー入力されます 到達し、既存の変更パスを介してプッシュされるので、Stripe's CREATE PRORATIONSの料金日が加算され、クレジット日がリリースされます。 また、メールのアドオンメールボックスをドロップしても使用せず、停止 受け継がれているだけアド...
Webhook の idempotency ギャップ BL0 の最終レビューが見つかりました
1(Critical):赤みのあるストライプイベントに負けたクレーム 前の試みが終わることではなく、行が存在することを証明しました。 請求される 過渡障害(ヒカリバイト40001、ヒカリ)で左折 タイムアウト、ユニークなレース)は、本物と同一に見えます 重複するので、再配達は200に答え、永久にストライプ 決して上陸し...
重要なエピヘムアルパーアテンプ・ストライプが生成されない
ラウンド2レビュー(ルーリング17)は「これは作成されますか?」と見つかりましたが、 十分ではありません。 問題の質問:この主題をすることができます キーの 24h ウィンドウ内で 1 回以上作成されます。 ネットワーク再試行以外の理由は? 2 つは答えを はい作成し、 第1ラウンドに誤ってキーをつけました。 - S...
Keys は Stripe でのみ作成されます
ラウンド 1 レビュー (ルール 15) クリティカルを発見: 安定した潜在能力 更新/cancel/attach/detach のキーは保護策ではなく、バグです。 これらの呼び出しはすでに明示的なターゲット状態を設定しているため、 任意のキーなしで効果を損なう;代わりに安定したキーは、 Stripeの24hキャッシュ...
すべてのストライプは、 idempotent を書き、キーなしで新しいものにビルドを失敗させます
実際に成功したStripe書き込みのソケットタイムアウトは、 不可解な、私たちの側から、なかったものから。 retry の idempotency キーは 2 番目のサブスクリプション、チェックアウトを作成します。 セッション、または価格、テナントは2回請求されます。 StripeIdempotency.forKey...
処理されたフラグをお金の書き込みでコミットします。, それよりも先にはありません
markProcessed は REQUIRES NEW だったので、処理をコミットしました。 ハンドラーのお金の書き込みはまだ中断された外でコミットされていない トランザクション。 ジャパトランザクション 管理者は中断された永続性を洗い流さない コンテキストなので、内部コミットは、外部の末尾のSQLに上陸しました。 ...
Hibernate のこのサービスの HQL パーサーを実際に実行する
kamo-shared-libraryはブート3.3.4 / Hibernate 6.5でビルドします。 BillingServiceは実行します ブーツ 3.1.5/Hibernate 6.2.13. ライブラリの HQL のテスト したがって、パス 艦隊の古い半分のために、空に - 強制する同じ串 アフィリエイトス...
再生されたストライプイベントをno-opにする
BillingWebhookEventClaimService を独自のビーンに追加し、REQUIRES NEW を あらゆる方法、およびそれをプロセスにワイヤーで縛って下さいディスパッチ スイッチの先のでき事。 ディスパッチなしでクレームが返されるので、ストライプのお金の赤字 イベントは2回書くのではなく何もない。 ...
ピンカモ共有ライブラリ 1.6.0
ライブラリは1.6.0に移動し、すべての消費者は1.5.0に滞在しました。 消費者CI ライブラリを新しいクローンから冷たい〜/.m2とci-settings.xmlにビルドする ミラー Maven セントラルだけ、従って 1.5.0 はどこでもおよび造りから取得可能です 解決に失敗します。 それはまだローカルに渡しま...
選択したプランが既に含まれているアドオンを販売停止
カタログは、常に、プランバンドルを追加する記録されています。 メニュー — — — 事業・企業向けキャリー ビデオ会議、AIアシスタント、人事システム、電子署名。 コメントはありません 購入パスでそれを読んでください。 resolveAddonCodes が互換プランでフィルタリング 単独で, 含まれたコードは、検証を...
追跡された組織の有料変換を公開する
BillingSourceType.PAID がマーケティング.visitor.paid を公開するパスの両方 トラフィックの半分だけをサイレントに見逃すので、アカウントサブスクリプション サービス コンソールの購読を処理します。ConsumerCheckoutService は Stripe のチェックアウトを処理し...
自分のJVMヒープ天井の上にポッドを大きさで分類 [skip ci]
画像は -XX:MaxRAMPercentage=70 -XX:+ で JVM を起動します。 お問い合わせ 単独でheapは容器の限界の70%を取り、事前接触はあらゆる約束を保ちます サイトマップ 非ヒープ — 未処理のメタスペース、コードキャッシュ、スレッドスタック、直接 バッファ — パーセンテージが見えないほど...
共有リゾルバによるプラットフォームアクセスの決定
@PlatformAdmin プラットフォーム名だけ 必要 (デフォルトでは MANAGE ORGANIZATIONSは、このサービスのプラットフォーム表面が何であるかです。 そして、評論家はプラットフォームRightsResolverから来る — 同じルール SecurityService は、 それはそれ自身のた...
カバレッジとグループペイロードの更新日を運ぶ
両面は、現在のPeriodEndとキャンセルAtPeriodEndを報告しています。 日付は、 キャンセル確認は、実際に言う必要があります — "最後にシートを保持する 期間の「抄録」は「3月14日までの座席を保ちましょう」の安心です。 誰かが行動できる安心です.
キャンセルは将来の請求を停止し、他にはない
"immediate" フラグがなくなり、顧客対応のルートが要求されない お問い合わせ それを渡すと、Stripeを尋ねながら、サブスクリプションが同じ日に終了した 予期せぬために、組織は、それが持っていた期間の残りの部分を失いました 既に支払われ、何も払戻しませんでした。 当日2日目にキャンセルした者 月は、その月を...
組織ごとの1つの計画、25座席企業の天井および支払を止める方法
計画は現在、組織レベルの決定であり、他にそれを上書きすることはできません。 自給者やグループマネージャーが親切に自分の読み物を選び、 正しいバグです。 **************** 回答 "このorgesを このアプリは、OR-ing がすべてのライブサブスクリプションを org をターゲットにすることで、 プラン...
団体の計画をキャンセルし、1人で2回払いを止める
最後の出荷時の3つのギャップ: 計画のあるグループは、決して削除できませんでした。 delete() は、ライブ中に拒否します サブスクリプションが存在する — 正しい、グループ行が指す唯一のものだから ストライプサブスクリプション — しかし、キャンセル方法がなかったので、保護策は デッドエンド。キャンセルPlan...
請求グループが終わるまで終わりに働かせ、何もセルフペイの充満を停止して下さい
グループが集うようになり、マネージャーのカードでプランを購入し、手札を手に 席外。 存在しない: 唯一の操作が作成され、承認される 削除すると、グループを作ったオーナーがラベルをつけて使用する方法がない。 BillingGroupSeatService は、お金の動きと資格が発行されるところです。 記録保管とは別に、...
改名されたペイグループテーブルに対する再構築
組織は、課金 groups から課金 pay groups に移動した後、 前者は、異なる形状のライブレガシーテーブルです。 このサービスはまだ 古いマッピングに対して構築されたイメージを保持するので、グループをリストすると、 もはや存在しないカラム。 再構築を超えて動作が変化しません.
共有されたクレデンシャルを config のデフォルトとして出荷停止
プラットフォームの共有パスワードは、DB PASSWORDのフォールバックとして焼き上げられました。 MINIO ROOT PASSWORD は、このリポジトリとビルドされたイメージに住んでいました。 クラスターマニフェストで。 生産は、DBのデフォルトを使用しないこと — *** 供給 envFrom による DB...
支払いが失敗し、サブスクリプションを下げる人々を伝えます
存在しなかった行列。 invoice.payment failed は行を書き、返します。 電子メール、フラグなし、ステート変更なし、課金なし。email-service-url の設定 すべてのJavaコードで参照してください。 webhook は、最初の失敗の残忍な時計を開始し、それをクリアします 請求書が支払わ...
会員が自分の席を購入し、ボディパラメータの穴を閉じる
セルフペイはコンソール内のルートがなかった。 請求面のすべては すでにAccountMemberの行を保持する必要があります。 請求は何かを示し、一つを取得する唯一の方法は、所有者の行動だったので、 自分で支払いたいと思っていた会員は、行きたいと伝えました。 1つの本物 存在している自己ペイパス、ホワイトラベル製品で使...
Org ポリシーと課金グループ API
組織内の誰がカモの支払いをできるようになりました 回答可能で設定可能な. 両方とも ルートは org-scoped で、 したがって /api/billing/accounts/** の外に非適格に記述 そして、その傍受者:「私のスタッフは自分の席を買う」と答える必要があります 2番目のアカウントが存在する前に、アカウ...