Skip to main content
Delivers notifications for all POS terminal (Pax machine) activity:
  • Payments — Pay by Bank and card payments at the terminal.
  • Refunds (voids) — refunds from the POS terminal. Not delivered under REFUND_STATUS.
API or Dashboard refunds are delivered under REFUND_STATUS, not here.

Payment statuses

Refund statuses

Distinguish payment from refund deliveries by checking for refundId. Refund payloads use refundId and refundAmount instead of payment fields like tipAmount and storeDetails.
V2 signing required: Subscribing to POS_PAYMENT_STATUS requires a V2 signing secret. All POS webhooks are delivered with V2 signing — the X-Atoa-Signature header contains the HMAC-SHA256 signature and the body includes an eventType field.

Payloads


Custom fields

Custom fields collected during the terminal payment appear as a customFields array. For refunds, custom fields from the original payment are carried over.
Only present when custom fields were entered at the terminal. Not included in PAYMENTS_STATUS or EXPIRED_STATUS webhooks.

Metadata

Merchant-supplied metadata set when creating the payment appears as a metadata object — a flat map of string keys to string values. Unlike custom fields (entered at the terminal), metadata is supplied programmatically and is frozen at payment creation.
Only present when metadata was supplied on the payment. See Process Payment for the field limits.

Signature verification

All POS_PAYMENT_STATUS webhooks use V2 signing. To verify the signature, use the X-Atoa-Signature header as described in the V2 Webhook Signing guide.