Vorgio

In Produktion gehen — Produktiv-Checkliste

Gehen Sie diese Checkliste vollständig durch, bevor Sie Ihren Shop produktiv auf Vorgio umstellen.

#Tokens & Secrets

  • [ ] Produktions-Token mit dem Preset Payment-provider integration auf der API-Tokens-Seite Ihres Teams ausgestellt.
  • [ ] Token wird ausschließlich im Secrets-Manager / in den Umgebungsvariablen abgelegt, niemals im Source Control. (Durchsuchen Sie Ihr Repo zur Sicherheit nach act_.)
  • [ ] Webhook-Endpoint auf der Webhooks-Seite Ihres Vorgio-Teams mit der https://-URL Ihres Produktions-Shops registriert, abonniert auf invoice.sent und invoice.paid.
  • [ ] Webhook-Signing-Secret im Secrets-Manager abgelegt.
  • [ ] Separates Token für Staging/Dev, das auf ein separates Vorgio-Team zeigt. Tokens niemals zwischen Umgebungen teilen.
  • [ ] php artisan vorgio:doctor --test-webhook ist gegen die Produktion vollständig grün (PHP-SDK ≥ 0.3.0) — bestätigt, dass das Token im Live-Modus ist, die richtigen Abilities trägt und der Webhook registriert ist und signierte Events tatsächlich empfängt. Siehe Verbindung prüfen.

#Rate Limit

  • [ ] Das Rate Limit des Tokens ist auf einen Wert komfortabel oberhalb Ihres erwarteten Spitzenaufkommens gesetzt. Der Standard von 60/min reicht für die meisten Shops; erhöhen Sie auf 120 oder 300, wenn Sie mit Lastspitzen rechnen (Aktionen, Marketing-Mails). Untergrenze ist 30/min.
  • [ ] Ihr Client-Code respektiert Retry-After bei 429-Antworten — siehe Rate Limits.

#Idempotency

  • [ ] Jeder POST /v1/checkouts trägt einen Idempotency-Key, der aus einer stabilen, bestellbezogenen Kennung abgeleitet ist (z. B. wc-order-{id}-checkout).
  • [ ] Sie verarbeiten den Response-Header Idempotency-Replay: true — als Erfolg behandeln.
  • [ ] Sie verwenden denselben Key nicht mit einem veränderten Body wieder.

#Webhook-Empfänger

  • [ ] Der Endpoint verifiziert den Vorgio-Signature-Header bevor der Body geparst wird, mit hash_equals / einem timing-sicheren Vergleich.
  • [ ] Der Endpoint antwortet innerhalb von 30 Sekunden mit 2xx. Aufwendige Arbeit wird in eine Queue gestellt, nicht inline erledigt.
  • [ ] Der Endpoint ist auf event.id idempotent — doppelte Zustellungen lösen keine doppelte Auslieferung aus.
  • [ ] Ihr Monitoring alarmiert, wenn der Webhook-Endpoint ausfällt (das ist der einzige Weg, auf dem Vorgio Sie informiert, dass die Rechnung bezahlt wurde).

#Bestell-Semantik

  • [ ] Sie haben entschieden, ob Ihr Shop bei invoice.sent ausliefert (Vertrauen in den Kunden) oder erst bei invoice.paid (vorsichtig). Halten Sie die Entscheidung in Ihrem Runbook fest.
  • [ ] Bei „auf invoice.paid": Der Händler hat einen Workflow, um Rechnungen zeitnah als bezahlt zu markieren, sobald die Banküberweisung eintrifft — entweder manuell in der Vorgio-UI oder indem Ihr Shop POST /v1/invoices/{id}/mark-paid aufruft, sobald sein eigener Verarbeiter den Eingang bestätigt.

#Fehler-UX

  • [ ] Zur Checkout-Zeit: Schlägt der Vorgio-Aufruf fehl, sieht der Kunde eine freundliche Meldung („Wir konnten Ihre Rechnung nicht verarbeiten — bitte versuchen Sie es erneut oder wählen Sie eine andere Bezahlmethode") — keinen Stack-Trace, keinen RFC-7807-Envelope.
  • [ ] Zur Auslieferungszeit: Webhook-Fehler werden dem Händler sichtbar gemacht (Admin-E-Mail / Dashboard) und nicht stillschweigend verschluckt.

#Datenschutz / Datenverarbeitung

  • [ ] Ihre Datenschutzerklärung erwähnt, dass Rechnungsdaten des Kunden (Name, Adresse, E-Mail) zum Zweck der Rechnungsstellung an Vorgio weitergegeben werden.
  • [ ] Falls Ihr Shop in der EU ansässig ist: Es liegt ein Auftragsverarbeitungsvertrag (AVV) / Data Processing Agreement mit Vorgio vor. (Vorgio stellt den Standard-AVV bereit — wenden Sie sich an den Support.)
  • [ ] Sie legen keine personenbezogenen Daten in metadata ab, die nicht ohnehin auf der Rechnung stehen.

#Monitoring

  • [ ] Alarme auf:
    • 5xx-Antwortrate Ihrer POST /v1/checkouts-Aufrufe
    • 429-Antwortrate (Rate-Limit-Druck)
    • 5xx-Antwortrate Ihres Webhook-Endpoints
    • Alter unzugestellter Webhooks (Vorgio-Events, die älter als ~1 h sind und nicht bestätigt wurden)
  • [ ] Dashboards für die obigen Metriken mit Schwellwerten, die Ihr On-Call-Team versteht.

#Smoke-Test

Führen Sie das in der Produktion mit einer echten Karte / echten Banküberweisung für eine winzige Bestellung durch:

  1. Geben Sie auf Ihrem Live-Shop eine echte Bestellung mit „Kauf auf Rechnung (Vorgio)" auf. Wählen Sie einen kleinen Betrag, dessen Verlust Sie verschmerzen können, falls etwas schiefgeht.
  2. Prüfen Sie in Vorgio, dass Client + Rechnung angelegt wurden und die E-Mail in Ihrer Test-Inbox angekommen ist.
  3. Prüfen Sie, dass der invoice.sent-Webhook an Ihrem Endpoint angekommen ist und die Bestellung in den konfigurierten Status gewechselt ist.
  4. Bezahlen Sie die Rechnung (oder markieren Sie sie für den Smoke-Test in Vorgio als bezahlt).
  5. Prüfen Sie, dass der invoice.paid-Webhook angekommen ist und die Bestellung auf processing/completed gewechselt ist.
  6. Prüfen Sie, dass die Bestellansichtsseite in Ihrem Shop die Vorgio-Rechnungsnummer / den „In Vorgio ansehen"-Link zeigt.

Wenn alle sechs Schritte erfolgreich sind, sind Sie produktiv. Rollen Sie auf alle Kunden aus.

#Rollback-Plan

  • [ ] Sie können die Bezahlmethode „Kauf auf Rechnung (Vorgio)" im Adminbereich Ihres Shops in unter 60 Sekunden ohne Deployment deaktivieren. (Bei WooCommerce ist das eine Checkbox in den WC-Zahlungseinstellungen.)
  • [ ] Sie haben ein Runbook für den Fall „Vorgio ist offline" — typischerweise: Bezahloption deaktivieren, Banner einblenden, auf den Fallback-Payment-Provider umschalten.

#Wann Sie den Vorgio-Support einbinden sollten

Melden Sie sich vor dem Start, wenn:

  • Sie mit mehr als ~ 1000 Rechnungen/Tag rechnen (eventuell Rate-Limit- / Infrastruktur-Tuning nötig).
  • Sie auf einer Plattform integrieren, für die Vorgio (noch) kein offizielles Plugin hat — Vorgio möchte unter Umständen aus Ihrer Integration lernen.
  • Sie rechtliche Fragen zu Aufbewahrung, AVV oder E-Rechnungs-Formaten (XRechnung, ZUGFeRD) haben.
  • Ihr Shop Bestellungen in einer anderen Währung als EUR verarbeitet. (Vorgio unterstützt aktuell ausschließlich EUR.)

Sie sind fertig. Willkommen bei der Integration. 🚀