1. Response code 90001

Symptom

A payment or refund returns status: NOK with responseCode: 90001. The terminal never showed the card screen to the customer; if a receipt printed, it shows Declined.

What it means

The transaction was rejected by TIF (the Terminal Interface layer) for a field format error, before reaching the acquirer — this is not a bank decline. The tell: no cardholder interaction happened.

Causes, in order of likelihood

  1. ecrTransactionId longer than 35 characters. The limit comes from ISO 20022. A standard UUID is 36 characters (four hyphens included) — the single most common trigger. Drop a hyphen or use a shorter scheme.
  2. cashierId longer than 35 characters — same limit, same fix.
  3. Other field format violations detected by TIF — compare your request against the ecr-api specification on api-hub.

Fix and verify

Shorten the offending field, resend, and confirm the terminal now presents the card screen — that is the signal the request passed TIF. Then audit every code path that generates the two IDs; UUID-based generators are usually library defaults that reappear.