Authorize a terminal transaction
/api/v1/terminal/transactions/authorizeRequest body
application/json
deviceIdstringRequiredpaymentSessionIdstringRemote terminal command session. The device must echo this value so the host validates amount, currency, operation, and ownership before authorization.
terminalIdstringRequiredamountintegerRequiredbaseAmountMinorintegerSubtotal before tip. When supplied, base plus tip must equal amount.
tipAmountMinorintegerTip collected before authorization.
tipSourcestringTerminal selection source such as preset:1800, fixed:100, custom, or none.
currencyCodestringRequiredtransactionTypeenumpurchasepre_authrefundoriginalTransactionIdstringRequired for a refund.
entryModestringRequiredcompletionModestringDevice/kernel completion contract selected for this acceptance mode.
railIdstringvendorstringacceptanceModestringcardSchemestringmaskedPanstringapplicationPanstringClear EMV tag 5A used only for the synchronous authorization. Mutually exclusive with panEncrypted; never log or persist.
panEncryptedstringDevice-encrypted PAN ciphertext. Mutually exclusive with clear applicationPan and track2; never log or persist outside the approved CHD boundary.
accountDataKsnstringKSN for panEncrypted. This is not the PIN KSN.
accountDataKeySchemeenumTDES_DUKPTAES_DUKPTtrack2stringClear ephemeral Track 2. Mutually exclusive with panEncrypted; never log or persist.
emvTlvobjectcryptogramstringcidstringatcstringtvrstringiadstringunpredictableNumberstringcvmstringpinBlockstringDevice-encrypted PIN block; never log. Requires the separate PIN ksn.
ksnstringPIN-encryption KSN. This is not accountDataKsn.
pinBlockFormatstringpinKeySchemestringmetadataobjectResponse
application/json
paymentobjectRequiredemvobjectRequiredtransactionIdstringRequiredapprovedbooleanRequiredresponseCodestringRequiredauthorizationCodestringrrnstringissuerAuthDatastringissuerScript71stringissuerScript72stringmessagestringauthorizeTerminalTransaction