reseller
POST /v1/reseller/webhooks/{code}/{orgId}
Ingest a signed callback from a reseller's OWN payment gateway.
Autentikasi
Titik akhir ini bersifat publik. Titik akhir ini tidak memerlukan kredensial maupun organisasi—inilah yang dibaca oleh situs pemasaran kami sendiri dan mesin jawaban AI.
Tempat ID organisasi Anda dimasukkan
Endpoint ini menggunakan id organisasi Anda di dalam URL itu sendiri, sebagai orgId. Gantikan ke dalam path — tidak ada header atau parameter kueri yang dapat menggantikannya.
ID organisasi Anda berada di layar kunci API di dasbor Anda, di sebelah kunci itu sendiri. Itu adalah ID yang sama dalam setiap panggilan yang Anda buat.
Coba
Ganti apa pun di dalam tanda kurung sudut dengan nilai Anda sendiri, dan placeholder kunci dengan kunci dari dasbor Anda.
curl -X POST https://api.zinndigital.com/v1/reseller/webhooks/{code}/{orgId}Sudah masuk? Konsol API di dasbor Anda akan mengisi ID organisasi asli dan kunci Anda sendiri, serta menjalankan permintaan terhadap API langsung sehingga Anda dapat melihat respons aktualnya. Buka titik akhir ini di konsol API
Detail
**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
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
code (path) | string | Ya | The gateway code — `stripe`, `paypal` or `nowpayments`. |
orgId (path) | Uuid | Ya | 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… |
Tanggapan
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
status | string<handled, ignored, duplicate> | Ya | `handled` — acted on. `ignored` — a valid event of a type Zinn® does not consume. `duplicate` — already processed; Stripe may stop redelivering. |
Kesalahan yang dapat dikembalikan oleh titik akhir ini
400 · 404 · 503