billing

POST /v1/webhooks/paypal

Ingest a signed PayPal webhook event.

Gbogbo àwọn billing endpoints

Ìfàṣẹ́pọ̀

Ojú-wọ̀n yìí jẹ́ ti gbogbo ènìyàn. Kò gba àmì ìdánimọ̀ kankan tàbí àgbájọ kankan — ohun tí ojú-wọ̀n ìpolówó wa àti àwọn ẹ̀rọ ìdáhùn AI ǹkà kọ́ ni.

Ojú abánisọ̀rọ̀ yìí kò gba id ajọ kankan. Kọ́kọ́rọ́ rẹ ti mọ ajọ ti o jẹ ti e, a o si fèsì nipa rẹ̀.

Gbiyanju rẹ

Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.

curl -X POST https://api.zinndigital.com/v1/webhooks/paypal

Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API

Àwọn kúlẹ̀kúlẹ̀

**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).

Idahun

OrúkọIruTí a nílòKini o jẹ
statusstring<handled, ignored, duplicate>Bẹẹni`handled` — acted on. `ignored` — a valid event of a type Zinn® does not consume. `duplicate` — already processed; Stripe may stop redelivering.

Awọn aṣiṣe ti ibudo ipari yii le da pada

400