prosessi tilaukset-laskutus luonnos metodi v2 päivitetty 2026-08-12 git 944016d
Lähteet (koodi)
  • backend/lambdas/generate/saas_onboarding.py
  • backend/lambdas/generate/auth_provider.py
  • scripts/list-saas-tenant-lifecycle.py
  • scripts/list-veraframe-cloud-tenants.py

Tilauksen täsmäytys Stripestä

Yhteenveto

Tämä on webhookin itsekorjausmekanismi. Webhook on ensisijainen päivityspolku, mutta se voi viivästyä, kadota tai kaatua DLQ:hun — silloin tenantin tila konvergoi takaisin Stripeen seuraavassa kirjautumisessa.

Sekvenssi

sequenceDiagram
    participant K as Kutsuja (kirjautuminen / skripti)
    participant S as sync_saas_subscription_from_stripe
    participant Cfg as CONFIG_BUCKET
    participant Stripe
    participant U as update_saas_subscription

    K->>S: customer_id (force?)
    S->>Cfg: load_customer_config
    S->>S: portit: stripe? tekninen? tunnukset? vaimennus?
    S->>Stripe: GET /v1/subscriptions/{id}
    S->>Stripe: GET /v1/subscriptions?customer=…&status=all
    Stripe-->>S: enintään 10 tilausta
    S->>S: valitse käyttökelpoisin tilaus
    S->>U: update_saas_subscription(status, ajoitus, tunnukset)
    U->>Cfg: save_customer_config
    S->>Cfg: save_customer_config (toinen kirjoitus)
    S-->>K: päivitetty konfiguraatio

Vaiheet

Vaihe 1 — Neljä porttia

Vaihe 2 — Tilausten haku Stripestä

Vaihe 3 — Käyttökelpoisimman tilauksen valinta

Vaihe 4 — Tilan kirjoitus

Vaihe 5 — Toinen tallennus

Virhetilanteet

Tilanne Käytös Kutsujalle Koodi
Portti sulkee (ei Stripe / tekninen / ei tunnuksia / vaimennus) ei kutsuja, ei kirjoitusta konfiguraatio sellaisenaan saas_onboarding.py:12761289
Stripe-kutsu kaatuu tai palauttaa roskaa ei kirjoitusta ValueError saas_onboarding.py:560, saas_onboarding.py:565, saas_onboarding.py:591, saas_onboarding.py:596
Tilauksia ei löydy ei kirjoitusta konfiguraatio sellaisenaan saas_onboarding.py:1310
Tilauksen status tyhjä eikä konfiguraatiossa vanhaa ei kirjoitusta konfiguraatio sellaisenaan saas_onboarding.py:1313

Kirjautuminen ei kaadu täsmäytyksen virheeseen. auth_provider.py:414 kutsuu funktiota omassa try/exceptissään ja jatkaa vanhalla konfiguraatiolla, jos täsmäytys heittää. Sama suoja on elinkaariskriptissä (scripts/list-saas-tenant-lifecycle.py:79), joka putoaa välimuistitettuun konfiguraatioon. Kirjautuminen siis toimii Stripe-katkonkin aikana — vanhoilla oikeuksilla.

Liittyvät