Sale status
Every sale carries two statuses, and they answer different questions. Mixing them up is the single most common source of wrong numbers.
| Field | Answers |
|---|---|
eventStatus | does the gateway consider this sale paid? |
status | did PassKey manage to fire the conversion to the pixel? |
For revenue, use eventStatus. status diagnoses the dispatch — a paid sale with status FAILED is money that came in and a pixel that did not hear about it.
eventStatus
This is the gateway own vocabulary, passed through as-is: paid, refunded, waiting, failed and whatever else the gateway uses. It is a free-form string on purpose — a new gateway may bring its own value, and that must not break your parsing.
Treat an unknown value as "unknown", never as "not paid". An else branch that assumes not-paid turns a new gateway into lost revenue.
status
| Value | What happened |
|---|---|
RECEIVED | arrived, not processed yet |
PROCESSED | normalized and stored |
DISPATCHED | conversion sent to the pixel |
FAILED | the pixel dispatch failed |
DUPLICATE | the gateway resent something we already had |
IGNORED | not a payment (for example a refund), so there is no dispatch |