reseller
POST /v1/reseller/webhooks/{code}/{orgId}
Ingest a signed callback from a reseller's OWN payment gateway.
Autentifikatsiya
Bu oxirgi nuqta ochiq. U hech qanday ma'lumotnoma va tashkilotni talab qilmaydi — bu bizning o'z marketing saytimiz va sun'iy intellekt javob mexanizmlari o'qiydigan narsadir.
Tashkilotingiz identifikatori kiritiladigan joy
Ushbu so'rov manzili tashkilotingiz identifikatorini URL manzilining o'zida orgId sifatida qabul qiladi. Uni yo'lga o'rnating — buning o'rnini bosadigan sarlavha yoki so'rov parametri mavjud emas.
Tashkilotingiz identifikatori boshqaruv panelingizdagi API kalitlari ekranida, kalitning o'z yonida joylashgan. Bu siz amalga oshiradigan har bir so'rovda bir xil identifikator hisoblanadi.
Sinab ko'rish
Qavslardagi har qanday narsani o'z qiymatlaringiz bilan, kalit pleysxolderini эsa boshqaruv panelingizdagi kalit bilan almashtiring.
curl -X POST https://api.zinndigital.com/v1/reseller/webhooks/{code}/{orgId}Tizimga kirganmisiz? Boshqaruv panelingizdagi API konsoli haqiqiy tashkilot ID raqamingiz va shaxsiy kalitingizni avtomatik to'ldiradi hamda haqiqiy javobni ko'rishingiz uchun so'rovni jonli API orqali bajaradi. Ushbu yakuniy nuqtani API konsolida oching
Tafsilotlar
**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.
Parametrlar
| Nomi | Turi | Majburiy | Nima bu |
|---|---|---|---|
code (path) | string | Ha | The gateway code — `stripe`, `paypal` or `nowpayments`. |
orgId (path) | Uuid | Ha | 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… |
Javob
| Nomi | Turi | Majburiy | Nima bu |
|---|---|---|---|
status | string<handled, ignored, duplicate> | Ha | `handled` — acted on. `ignored` — a valid event of a type Zinn® does not consume. `duplicate` — already processed; Stripe may stop redelivering. |
Ushbu yakuniy nuqta qaytarishi mumkin bo'lgan xatolar
400 · 404 · 503