reseller

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

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

Dhammaan reseller bixiyayaasha

Xaqiijinta aqoonsiga

Bankigan (endpoint) waa mid dadweyne. Ma qaato wax aqoonsi ah ama urur ah — waa waxa ay site-keenna suuqgeynta iyo matoorada jawaabaha ee AI ay akhriyaan.

Meesha aqoonsiga ururkaagu galayo

Bankani wuxuu qaataa aqoonsiga ururkaaga URL-ka dhexdiisa, sida orgId. Ku beddel wadada dhexdeeda — ma jiro madax (header) ama cabbir weydiin (query parameter) beddeli kara.

Aqoonsiga ururkaagu wuxuu ku yaallaa shaashada furayaasha API ee dashboard-kaaga, oo ku xiga furaha laftiisa. Waa isku aqoonsi wicitaan kasta oo aad sameyso.

Isku day

Ku beddel wax kasta oo ku dhex jira qeebaha xaglaha ah qiimayaashaada, sidoo kalena haystaaha furaha ku beddel fure ka dhex muuqda dashboordigaaga.

curl -X POST https://api.zinndigital.com/v1/reseller/webhooks/{code}/{orgId}

Ma sign-garaysay? Qalabka API ee ku jira dashboard-kaagu wuxuu buuxiyaa aqoonsigaaga ururka ee dhabta ah iyo furahaaga gaarka ah, wuxuuna ku shaqeysiiyaa codsiga API-ga nool si aad u aragto jawaabta dhabta ah. Kani ka fur barta kontoroolka ee API

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.

Cabiraha

MagacaNoocLoo baahan yahayMaxay tahay
code (path)stringHaaThe gateway code — `stripe`, `paypal` or `nowpayments`.
orgId (path)UuidHaaThe 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…

Jawaab

MagacaNoocLoo baahan yahayMaxay tahay
statusstring<handled, ignored, duplicate>Haa`handled` — acted on. `ignored` — a valid event of a type Zinn® does not consume. `duplicate` — already processed; Stripe may stop redelivering.

Cilladaha ay bartaani soo celin karto

400 · 404 · 503