billing
POST /v1/webhooks/paypal
Ingest a signed PayPal webhook event.
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.
Bu yakuniy nuqta hech qanday tashkilot identifikatorini qabul qilmaydi. Sizning kalitingiz unga tegishli tashkilotni allaqachon aniqlaydi va javob shunga qarab cheklanadi.
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/webhooks/paypalTizimga 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** — PayPal holds no Zinn® credential, so its asymmetric transmission signature *is* the authentication, verified server-side against the configured webhook id via PayPal's `verify-webhook-signature` API over the raw body + `PAYPAL-*` transmission headers. This is the only path that turns a confirmed vaulted payment token into a chargeable mandate (`VAULT.PAYMENT-TOKEN.CREATED`) and the only path that settles an async capture (`PAYMENT.CAPTURE.COMPLETED`); neither may be asserted by a browser. Replays are expected and converge. An event type Zinn® does not handle is acknowledged with 200 (a non-2xx would make PayPal retry it).
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