reseller
POST /v1/reseller/webhooks/{code}/{orgId}
Ingest a signed callback from a reseller's OWN payment gateway.
Authentifizierung
Dieser Endpunkt ist öffentlich. Er erfordert weder Anmeldedaten noch eine Organisation – er wird auch von unserer eigenen Marketing-Website und den KI-Antwort-Engines gelesen.
Hier kommt Ihre Organisations-ID hin
Dieser Endpunkt erwartet Ihre Organisations-ID direkt in der URL als orgId. Setzen Sie diese in den Pfad ein – es gibt keinen Header oder Abfrageparameter, der stattdessen verwendet werden kann.
Die ID Ihrer Organisation finden Sie im Dashboard auf dem Bildschirm für API-Schlüssel direkt neben dem Schlüssel selbst. Sie ist bei jedem Ihrer Aufrufe dieselbe.
Ausprobieren
Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.
curl -X POST https://api.zinndigital.com/v1/reseller/webhooks/{code}/{orgId}Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole
Details
**Unauthenticated by design**, exactly like the platform callbacks above — the provider's signature over the raw body *is* the authentication. What differs is whose secret it is verified against: this endpoint resolves the reseller's own credential from Vault first, because `/v1/webhooks/{code}` verifies against **Zinn®'s** secret and answers `400 INVALID_SIGNATURE` to anything a reseller's account sends it. Without this endpoint a BYO gateway can charge but never settle asynchronously — no SCA completion, no mandate confirmation, no crypto IPN. ⛔ A valid signature is **not** an authorization to touch a tenant. It proves only that the delivery came from the account we hold keys for; the event may act only on organizations that bill back to this reseller, and anything else is acknowledged with 200 and changes nothing. Replays are expected and converge on a dedupe key namespaced per reseller, so two accounts delivering the same provider event id cannot silently cancel each other out.
Parameter
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
code (path) | string | Ja | The gateway code — `stripe`, `paypal` or `nowpayments`. |
orgId (path) | Uuid | Ja | The RESELLER organization whose own gateway account is calling back. It is in the path because the signing secret is per organization: the engine must resolve *their* credential… |
Antwort
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
status | string<handled, ignored, duplicate> | Ja | `handled` — acted on. `ignored` — a valid event of a type Zinn® does not consume. `duplicate` — already processed; Stripe may stop redelivering. |
Fehler, die dieser Endpunkt zurückgeben kann
400 · 404 · 503