reseller

POST /v1/reseller/webhooks/{code}/{orgId}

Ingest a signed callback from a reseller's OWN payment gateway.

همه نقاط پایانی reseller

احراز هویت

این نقطه پایانی عمومی است. هیچ مدرک احراز هویت و هیچ سازمانی نمی‌پذیرد — این همان چیزی است که سایت بازاریابی خودمان و موتورهای پاسخ‌دهنده هوش مصنوعی می‌خوانند.

جایی که شناسه سازمان شما قرار می‌گیرد

این نقطه پایانی، شناسه سازمان شما را مستقیماً در خود URL به صورت orgId دریافت می‌کند. آن را در مسیر جایگزین کنید؛ هیچ هدر یا پارامتر کوئری‌ای وجود ندارد که بتواند جایگزین آن شود.

شناسه سازمان شما در صفحه کلیدهای API در داشبوردتان، در کنار خود کلید قرار دارد. این شناسه در تمام درخواست‌هایی که ارسال می‌کنید یکسان است.

امتحان کنید

هر چیزی را که داخل براکت‌های زاویه‌دار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.

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.

پارامترها

نامنوعالزامیچیست
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…

پاسخ

نامنوعالزامیچیست
statusstring<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