2.0 KiB
AZA License Bridge & WP Desk Flexible Subscriptions
Kontext
Auf der Produktivseite ist WP Desk Flexible Subscriptions aktiv, nicht das klassische Plugin WooCommerce Subscriptions.
Die öffentliche Woo-REST-Route /wp-json/wc/v3/subscriptions kann fehlen oder durch Hosting/WAF blockiert werden – unabhängig davon liefert Flexible Subscriptions laut WP-Desk-Doku u. a.:
next_payment_date_gmt(REST)billing_periodals Einzelbuchstabe:D,W,M,Ybilling_interval(Integer)
Root Cause (Kurz)
- AZA-Hetzner soll keine Abo-Perioden mehr ausschließlich über Shop-REST laden müssen.
- Die WordPress-Bridge kennt das Subscription-Objekt lokal und kann next payment + billing an den Server schicken.
- Backend (
wc_period_payload.py) normalisiertM/D/W/Y→ month/day/week/year für die Periodenberechnung.
Endpunkte auf Hetzner (nach Deploy des Backend-Codes)
| Methode | Pfad | Auth |
|---|---|---|
| POST | /wc/provision |
X-WC-Secret = WC_PROVISION_SECRET |
| POST | /wc/subscription_period |
gleiches Secret |
subscription_period aktualisiert nur current_period_start, current_period_end, updated_at für Zeilen subscription_id LIKE 'wc_sub_%' und status = active.
Plugin-Verhalten (Repo-Stand)
woocommerce_subscription_status_activePriorität 10: Lizenz-Provisioning (wie bisher).- Dieselbe Action Priorität 20:
aza_lb_after_subscription_active_push_period→ POST/wc/subscription_period.
Flexible Subscriptions setzt in der Regel dieselbe Hook-Familie voraus (WCS-kompatibel); wenn der Hook auf einer Installation nicht feuert, bitte WP-Desk-Doku oder Support zu den Status-Wechsel-Hooks prüfen und ggf. einen weiteren Hook ergänzen (ohne AZA-Core zu ändern).
Logs
wp-content/uploads/aza-logs/license-bridge.log — Einträge PERIOD PUSH … ohne Klartext-Secrets.
Snippet
Zusätzlich: snippets/phase1f-period-endpoint-snippet.php (Referenz für Code-Snippets-Plugin).