reseller
POST /v1/reseller/webhooks/{code}/{orgId}
Ingest a signed callback from a reseller's OWN payment gateway.
Πισtoποίηση
Αυτό το τελικό σημείο είναι δημόσιο. Δεν απαιτεί διαπιστευτήρια ούτε οργανισμό — είναι αυτό που διαβάζουν ο δικός μας ιστότοπος μάρκετινγκ και οι μηχανές απαντήσεων τεχνητής νοημοσύνης.
Πού μπαίνει το αναγνωριστικό του οργανισμού σας
Αυτό το τελικό σημείο δέχεται το αναγνωριστικό του οργανισμού σας μέσα στο ίδιο το URL, ως orgId. Αντικαταστήστε το στη διαδρομή — δεν υπάρχει κεφαλίδα ή παράμετρος ερωτήματος που να μπορεί να το αντικαταστήσει.
Το αναγνωριστικό του οργανισμού σας βρίσκεται στην οθόνη των κλειδιών API στον πίνακα ελέγχου σας, δίπλα στο ίδιο το κλειδί. Είναι το ίδιο αναγνωριστικό σε κάθε κλήση που πραγματοποιείτε.
Δοκιμάστε το
Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.
curl -X POST https://api.zinndigital.com/v1/reseller/webhooks/{code}/{orgId}Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API
Λεπτομέρειες
**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.
Παράμετροι
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
code (path) | string | Ναι | The gateway code — `stripe`, `paypal` or `nowpayments`. |
orgId (path) | Uuid | Ναι | 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… |
Απάντηση
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
status | string<handled, ignored, duplicate> | Ναι | `handled` — acted on. `ignored` — a valid event of a type Zinn® does not consume. `duplicate` — already processed; Stripe may stop redelivering. |
Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο
400 · 404 · 503