currentStage
required |
TransactionStage
TransactionStage |
Gets or sets the current stage of the transaction within the create or update workflow.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Created |
| Validated |
| Enriched |
| Screened |
| Authorized |
| Finalized |
| Captured |
| Completed |
| Reversed |
| Refunded |
| Voided |
| SplitTenderPending |
A partial approval is holding a reduced authorization and the gateway is waiting for a decision: accept the lesser amount, void it, or start a split tender for the shortfall. Non-terminal: the transaction leaves this stage once Transaction.PartialApprovalData.Disposition moves off PartialApprovalDisposition.Pending, or when the acknowledgment deadline elapses and the gateway voids it. | Rejected |
| Declined |
| Failed |
| PolicyRejected |
Auth succeeded at the processor but a post-authorization denylist rule matched (AVS or CVV response code). A reversal or void was issued and the transaction is permanently rejected by gateway policy. |
|
history
required |
array of TransactionHistoryItem
array of TransactionHistoryItem |
Gets or sets the transaction history entries associated with the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each TransactionHistoryItem:
| Field |
Type |
Description |
id
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transactionId
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| stage
required |
TransactionStage
TransactionStage |
Represents the stage of a transaction within the transaction management workflow.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Created |
| Validated |
| Enriched |
| Screened |
| Authorized |
| Finalized |
| Captured |
| Completed |
| Reversed |
| Refunded |
| Voided |
| SplitTenderPending |
A partial approval is holding a reduced authorization and the gateway is waiting for a decision: accept the lesser amount, void it, or start a split tender for the shortfall. Non-terminal: the transaction leaves this stage once Transaction.PartialApprovalData.Disposition moves off PartialApprovalDisposition.Pending, or when the acknowledgment deadline elapses and the gateway voids it. | Rejected |
| Declined |
| Failed |
| PolicyRejected |
Auth succeeded at the processor but a post-authorization denylist rule matched (AVS or CVV response code). A reversal or void was issued and the transaction is permanently rejected by gateway policy. |
| detailsJson
required |
string
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| creatorId
required |
string (uuid)
|
The ID of the user who created this entity.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| creationTime
required |
string (date-time)
|
The date and time when this entity was created.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| operationId
required |
string
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| lifecycleStatus
required |
string
|
The merchant-facing lifecycle status this entry was published under, or
`null` when the entry carries none.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| lifecycleOccurredAtUtc
required |
string (date-time)
|
When the event named by `lifecycleStatus` actually occurred, or
`null` when the entry's own `creationTime` is that instant.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| linkedReceiptId
required |
string (uuid)
|
The ID of the receipt generated for this timeline entry, if any.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| linkedReceiptType
required |
ReceiptType
ReceiptType |
The type of the linked receipt.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Authorization |
Receipt generated after a successful authorization. | Capture |
Receipt generated after a capture/settlement. | Refund |
Receipt generated after a full refund. | PartialRefund |
Receipt generated after a partial refund. Multiple partial refund receipts may exist on a single transaction, each with a distinct sequence number. | Void |
Receipt generated after a void. | Reversal |
Receipt generated after a full reversal: the entire approved amount has been released back to the issuer. Distinguished from PartialReversal so the transaction-detail / explorer pages can show the lifecycle event clearly. | OnDemand |
Receipt generated on-demand from the UI (legacy/fallback for pre-module transactions). | PartialReversal |
Receipt generated after a partial reversal. Multiple partial reversal receipts may exist on a single transaction (one per reversal operation), each with a distinct sequence number. | SplitTenderSummary |
Summary receipt for a completed split tender group: the order total, what each tender in the group authorized, and the combined authorized amount. Generated once per group, after the final tender completes, in addition to the per-tender receipts. |
| linkedReceiptSequenceNumber
required |
integer (int32)
|
The sequence number of the linked receipt within the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| subHistory
required |
array of TransactionHistoryItem
array of TransactionHistoryItem |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
appliedPatches
required |
array of TransactionPatchSnapshot
array of TransactionPatchSnapshot |
Gets or sets the collection of patch snapshots that have been applied to the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each TransactionPatchSnapshot:
| Field |
Type |
Description |
appliedAtUtc
required |
string (date-time)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| contributor
required |
string
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| patch
required |
TransactionPatchDto
TransactionPatchDto |
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
merchantId
required |
string (uuid)
|
The unique identifier of the merchant associated with the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
transactionType
required |
TransactionType
TransactionType |
The type of transaction being performed.
Conditional: When RequestedSplitTenderTotal is not null. Must equal Sale.
Conditional: Conditional (see validator source).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Authorization |
Represents an authorization transaction, typically used to verify funds availability without capturing the amount. | Sale |
Represents a sale transaction, which authorizes and captures funds in a single step. | Return |
Represents a return transaction, used to refund money to the customer. | Void |
Represents a void transaction, used to cancel a previously authorized transaction before it is settled. | Force |
Represents a force transaction, typically used to manually enter a previously authorized transaction. | Capture |
Represents a capture transaction, used to capture funds from a previously authorized transaction. | CaptureAll |
Represents a capture all transaction, used to capture funds from multiple previously authorized transactions. | RepeatSale |
Represents a repeat sale transaction, used to process a new sale based on a previous transaction's details. | Adjustment |
Represents an adjustment transaction, used to modify the amount of a previous transaction. | Activate |
Represents an activate transaction, typically used to activate a gift card or prepaid card. | Deactivate |
Represents a deactivate transaction, typically used to deactivate a gift card or prepaid card. | Redeem |
Represents a redeem transaction, typically used to redeem value from a gift card or loyalty program. | Inquire |
Represents an inquire transaction, used to check the status or balance of an account or card. | Reload |
Represents a reload transaction, typically used to add value to a gift card or prepaid card. | VoucherClear |
Represents an offline EBT voucher clear: a terminal was offline, a paper food-stamp (SNAP) or eWIC voucher was written against a voice-obtained approval code, and the voucher is later uploaded so the benefit clears. Permitted on EBT SNAP and eWIC tenders only. | Payout |
Represents a payout transaction, used to push funds from the merchant to an external bank account as an ACH credit. Unlike Return, which refunds a prior debit, a payout is a standalone outbound fund transfer with no originating transaction. |
|
description
required |
string
|
Optional free-text description of what this payment is for, at most 100 characters.
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
merchantReference
required |
string
|
Optional merchant-supplied reference for reconciliation, at most 25 characters, letters
and digits only.
nullablemax length 25pattern ^[A-Za-z0-9]*$
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
tender
required |
TenderKind
TenderKind |
Optionally declares that this transaction is taken in cash. The only accepted value is
`Cash`. Omit the field for every card, check, and token transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Cash |
Cash taken at the point of sale. Resolved against the merchant's cash processor profile, auto-approved with no processor call, and settled into its own daily cash batch. |
|
cardData
required |
CardData
CardData |
Card data associated with the transaction.
Conditional: When CvvAlias is not empty.
Conditional: When CardData is not null.
Required: Conditional (see validator source).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of CardData:
| Field |
Type |
Description |
cardNumber
required |
string
|
The card account number.
Conditional: When IsStoredPayment is not true.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| last4CardNumber
required |
integer (int32)
|
The last 4 digits of the card number as an integer.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| expirationMonth
required |
integer (int32)
|
The expiration month of the card as an integer in the range `1` to `12`.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| expirationYear
required |
integer (int32)
|
The expiration year of the card. Either a two-digit year (e.g. `29`) or a
four-digit year (e.g. `2029`); two-digit years resolve to the 2000s.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| expirationDate
required |
string (date-time)
|
The expiration date of the card.
Conditional: When IsStoredPayment is not true.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| binData
required |
BinData
BinData |
The BIN (Bank Identification Number) data associated with the card.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cvv
required |
integer (int32)
|
Deprecated: send `cardVerificationValue` instead. The CVV (Card Verification
Value) of the card as an integer.
Conditional: When IsStoredPayment is not true. Range: 100 to 9999.
nullabledeprecated
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cardVerificationValue
required |
string
|
The card verification value (CVV, CVC or CID) exactly as printed on the card: three digits,
or four for American Express. Send it as a string so a leading zero is kept.
Conditional: When IsStoredPayment is not true.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| nameOnCard
required |
string
|
The name on the card.
Conditional: When IsStoredPayment is not true. Max length: 25.
nullablemin length 0max length 25
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| pin
required |
string
|
The PIN (Personal Identification Number) of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| keySerialNumber
required |
string
|
The Key Serial Number associated with the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| emvData
required |
string
|
The EMV (Europay, Mastercard, and Visa) data associated with the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| trackData
required |
string
|
The track data of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| encryptedTrack1Data
required |
string
|
The encrypted track 1 data of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| encryptedTrack2Data
required |
string
|
The encrypted track 2 data of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| encryptedTrack3Data
required |
string
|
The encrypted track 3 data of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dynamicCardVerificationData
required |
string
|
A reader-generated dynamic card verification value captured at the moment the card was
read. Card readers that support it derive this value from physical characteristics of the
magnetic stripe, which differ between an original card and a copy, so the decryption
service that fronts the processor can score whether the presented card is genuine.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dynamicCardVerificationStatus
required |
string
|
Status metadata the reader reported alongside
`dynamicCardVerificationData` (for example whether the reader considered the
dynamic verification read successful). Non-secret: it describes the read, it is not the
verification value itself, so it is persisted as submitted.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| iin
required |
string
|
The IIN (Issuer Identification Number) of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| arqc
required |
string
|
The ARQC (Authorization Request Cryptogram) of the card.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| entryMode
required |
EntryModes
EntryModes |
The entry mode of the card.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Unknown |
The entry mode is unknown. | NotApplicable |
The entry mode is not applicable for this transaction. | Manual |
The transaction details were entered manually. | UnencryptedCardReaderSwipe |
The card was swiped through an unencrypted card reader. | EncryptedCardReaderSwipe |
The card was swiped through an encrypted card reader. | Icc |
The transaction was processed using an ICC (Integrated Circuit Card) or chip card. | Proximity |
The transaction was processed using a proximity or contactless payment method. | Fallback |
The transaction was processed using a fallback method when the primary method failed. | TechnicalFallback |
The transaction was processed using a fallback method when the primary method failed. | EmptyCandidateFallback |
The transaction was processed using a fallback method when the primary method failed. | DigitalWallet |
The transaction was processed using a digital wallet. |
| cvPresence
required |
CvPresence
CvPresence |
The CV (Card Verification) presence status.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
None |
The CV status is not specified or unknown. | NotSubmitted |
The CV has not been submitted. | Submitted |
The CV has been successfully submitted. | Illegible |
The submitted CV is illegible or cannot be read. | NotPresent |
The CV is not present or missing from the submission. |
| billingAddress
required |
Address
Address |
The billing address associated with the card.
Optional by default (no nested validation enforced).
Conditional: When IsStoredPayment is not true.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| phone
required |
string
|
The phone number associated with the card.
Conditional: When IsStoredPayment is not true. Max length: 15. Pattern: ^[0-9+()\-\s]*$.
nullablemin length 0max length 15
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| email
required |
string
|
The email address associated with the card.
Conditional: When IsStoredPayment is not true. Must be a valid email. Max length: 50.
nullablemin length 0max length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hasEmvData
required |
boolean
|
Indicates whether EMV data was provided in the original request.
The raw `emvData` value is not stored.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hasTrackData
required |
boolean
|
Indicates whether track data was provided in the original request.
The raw `trackData` value is not stored.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hasEncryptedTrackData
required |
boolean
|
Indicates whether any encrypted track data (track 1, 2, or 3) was provided in the original request.
The raw encrypted track values are not stored.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hasCvv
required |
boolean
|
Indicates whether a CVV was provided in the original request, in either
`cardVerificationValue` or `cvv`. The raw value is not stored.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hasPin
required |
boolean
|
Indicates whether a PIN was provided in the original request.
The raw `pin` value is not stored.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hasDynamicCardVerificationData
required |
boolean
|
Indicates whether reader-generated dynamic card verification data was provided in the
original request. The raw `dynamicCardVerificationData` value is not stored.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| emvAid
required |
string
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isDebitRouting
required |
boolean
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| tenderType
required |
CardTenderType
CardTenderType |
The card-rail tender the caller is attempting to use. Drives deterministic
processor routing. `null` (or absent JSON) is treated as
`CreditDebit` for backward compatibility: see
`EffectiveTenderType`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
CreditDebit |
Standard credit/debit card. The current card-rail behaviour. isDebitRouting modulates whether the request prefers debit-network routing within this rail. | EbtSnap |
EBT SNAP (food benefits). Routes through the EBT SNAP processor lane and requires PIN + card-present per program rules. | EbtCash |
EBT Cash (cash benefits). Distinct rail from SNAP; supports cashback where SNAP does not. PIN + card-present required. | Ewic |
eWIC (Women, Infants, and Children). Distinct rail from EBT, with item-level eligibility / voucher-select flow handled in the eWIC follow-up epic. |
| isStoredPayment
required |
boolean
|
When `true`, this card data originates from a stored payment method and
client-side field validation is not applicable. The server resolves actual
card data from the payment token.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| terminalCapability
required |
TerminalCapability
TerminalCapability |
The static hardware capability of the terminal. Selects the POS capability subfields on
the processor wire message. Resolved once in `ProcessorSelectionApplier`: request
value wins over the processor-profile default, which wins over `Unspecified`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Unspecified |
No capability declared. The handler emits its current default POS capability fields, preserving existing wire behavior exactly. | MagneticStripe |
Magnetic stripe reader only (implies keyed entry). | MagneticStripeWithPin |
Magnetic stripe reader with PIN pad (implies keyed entry). | Chip |
Contact chip reader (EMV ICC). | ChipWithPin |
Contact chip reader with PIN pad. | ChipContactless |
Contactless chip reader (EMV contactless / NFC). | ChipContactlessWithPin |
Contactless chip reader with PIN pad. |
| cryptogram
required |
string
|
The payment network cryptogram recovered from wallet-token decryption
(the online payment cryptogram for Apple Pay / Google Pay DPAN
transactions). Sensitive: masked from logs.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| eciIndicator
required |
string
|
The Electronic Commerce Indicator (ECI) describing the authentication
context of a tokenized / wallet transaction (e.g. `"05"` for a
3DS-authenticated transaction). Drives the liability-shift indicators
processors include in the network message.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isTokenized
required |
boolean
|
Indicates the credential is a tokenized account number (DPAN / network
token) rather than a raw PAN. `null` means unknown, which is treated the same as not
tokenized.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| tokenTransactionId
required |
string
|
The provider-specific transaction identifier returned alongside a wallet
token (Apple Pay `transactionIdentifier`, network-token
transaction id). Used for dispute matching against the wallet provider.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
checkData
required |
CheckData
CheckData |
Check data associated with the transaction.
Conditional: When CheckData is not null.
Conditional: Conditional (see validator source).
Conditional: When TransactionType == VoucherClear.
Required: When TransactionType == Payout.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of CheckData:
| Field |
Type |
Description |
nameOnCheck
required |
string
|
The name printed on the check.
Required: When IsStoredPayment is not true.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| routingNumber
required |
string
|
The routing number of the bank.
Required: When IsStoredPayment is not true.
Conditional: When IsStoredPayment is true.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| routingNumberLast4
required |
string
|
The last 4 digits of `routingNumber` as a string, preserving leading zeros, or
`null` when no digits are available.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| accountNumber
required |
string
|
The account number associated with the check.
Required: When IsStoredPayment is not true.
Conditional: When IsStoredPayment is true.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| accountNumberLast4
required |
string
|
The last 4 digits of `accountNumber` as a string, preserving leading zeros, or
`null` when no digits are available.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| checkNumber
required |
string
|
The check number.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| micr
required |
string
|
The Magnetic Ink Character Recognition (MICR) data.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| driversLicense
required |
string
|
The driver's license number of the check writer.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| state
required |
string
|
The state of issuance for the driver's license.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ssn
required |
string
|
The Social Security Number of the check writer.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dateOfBirth
required |
string
|
The date of birth of the check writer.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| checkType
required |
CheckType
CheckType |
The type of check.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Personal |
Represents a personal check. This is typically issued by an individual from their personal account. | Business |
Represents a business check. This is typically issued by a company or organization from their business account. |
| accountType
required |
CheckAccountType
CheckAccountType |
The type of account associated with the check.
Conditional: When IsStoredPayment is not true.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Checking |
Represents a checking account. | Savings |
Represents a savings account. |
| rawMicr
required |
string
|
The raw MICR data.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| branchCity
required |
string
|
The city of the bank branch.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| emailAddress
required |
string
|
The email address of the check writer.
Conditional: When IsStoredPayment is not true. Must be a valid email.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| telephoneNumber
required |
string
|
The telephone number of the check writer.
Conditional: When IsStoredPayment is not true. Pattern: ^[0-9+()\-\s]*$.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| address
required |
Address
Address |
The address associated with the check.
Optional by default (no nested validation enforced).
Conditional: When IsStoredPayment is not true.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| secCode
required |
SecCode
SecCode |
The Standard Entry Class (SEC) code for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Ccd |
Corporate Credit or Debit (CCD) - Used for business-to-business transactions. | Ppd |
Prearranged Payment and Deposit (PPD) - Used for consumer transactions. | Web |
Internet-Initiated/Mobile Entry (WEB) - Used for internet or mobile-initiated transactions. | Arc |
Accounts Receivable Conversion (ARC) - Used for converting eligible checks to ACH debits. | Tel |
Telephone-Initiated Entry (TEL) - Used for telephone-initiated transactions. |
| isStoredPayment
required |
boolean
|
When `true`, this check data originates from a stored payment method and
client-side field validation is not applicable. The server resolves actual
account data from the payment token.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
cashData
required |
CashPaymentDetails
CashPaymentDetails |
Cash sale details: the cash handed over, the change returned, and when the cash was taken.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of CashPaymentDetails:
| Field |
Type |
Description |
amountTendered
required |
number (double)
|
The amount of cash the customer physically handed over, in the transaction currency. May
exceed the transaction total when change was returned.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| changeGiven
required |
number (double)
|
The amount of change returned to the customer, in the transaction currency.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cashReceivedAt
required |
string (date-time)
|
When the cash was taken. Send it to record a sale taken earlier, for example one recorded
offline; when omitted, the gateway stamps the time of authorization.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
tokenData
required |
TokenData
TokenData |
Tokenized payment details, used to charge a stored credential instead of raw card data.
Conditional: When TokenData is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of TokenData:
| Field |
Type |
Description |
token
required |
string
|
A secure token representing a stored payment method, charged in place of raw card data.
Required: When ProviderType is null or ProviderType == Internal.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| tokenSharing
required |
boolean
|
The sharing status of the token.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| merchantOriginalId
required |
string (uuid)
|
The original merchant identifier associated with the token,
typically used when token sharing is enabled.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| providerType
required |
TokenProviderType
TokenProviderType |
Specifies the provider that generated the token.
Examples include Internal, ApplePay, GooglePay, NetworkToken, and ReaderToken.
This value determines how the token should be processed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Internal |
Internal gateway token generated by WinkPG. | ApplePay |
Apple Pay encrypted payment token. | GooglePay |
Google Pay encrypted payment token. | NetworkToken |
Network token such as Visa Token Service or Mastercard MDES. | Paze |
Paze (Early Warning) encrypted payment token. | ReaderToken |
A reusable card token issued by a card-reader decryption service, carried on readerToken. |
| readerToken
required |
string
|
A reusable card token issued by a card-reader decryption service, charged in place of a
physical card read. Required when `providerType` is
`ReaderToken`, and ignored otherwise.
Required: When ProviderType == ReaderToken.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| encryptedPaymentToken
required |
string
|
The encrypted payment token payload received from a digital wallet provider
(for example, Apple Pay or Google Pay). Required for digital wallet transactions.
Required: When ProviderType == ApplePay or ProviderType == GooglePay or ProviderType == Paze.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| network
required |
string
|
The payment network associated with the token (for example: Visa, Mastercard, Amex).
Typically provided by digital wallet transactions.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| displayName
required |
string
|
A display-friendly name for the payment method,
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cryptogram
required |
string
|
The cryptographic value used for transaction authorization in
digital wallet or network token transactions.
Required for Apple Pay, Google Pay, and network token processing.
Required: When ProviderType == NetworkToken.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| eciIndicator
required |
string
|
The Electronic Commerce Indicator (ECI) that specifies the authentication
level of the transaction. Commonly used in 3D Secure and digital wallet flows.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transactionIdentifier
required |
string
|
A unique identifier assigned by the wallet provider for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
deviceData
required |
DeviceData
DeviceData |
Device data for the transaction.
Conditional: When DeviceData is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of DeviceData:
| Field |
Type |
Description |
sdkVersion
required |
string
|
The version of the SDK used by the device.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| serialNumber
required |
string
|
The serial number of the device.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| batteryLevel
required |
integer (int32)
|
The battery level of the device.
The value is nullable to accommodate devices that may not report battery level.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isEncrypted
required |
boolean
|
Value indicating whether the device data is encrypted.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| encryptionType
required |
string
|
The type of encryption used for the device data, if applicable.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| encryptionKeyVariant
required |
string
|
The DUKPT key variant the reader used to encrypt the card data: `Data` for the data
variant or `Pin` for the PIN variant. Both variants derive from the same base key,
so the decryption service needs to be told which one applies before it can decrypt.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cvmResults
required |
string
|
The EMV Cardholder Verification Method (CVM) result reported by the device.
Values: "1" = Offline PIN, "2" = Online PIN, "3" = Signature.
Used as a fallback when EMV tag 9F34 is not present in the chip data
(e.g. some Ingenico/Discover contactless flows).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
fsa
required |
Fsa
Fsa |
FSA (Flexible Spending Account) data for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of Fsa:
| Field |
Type |
Description |
qhpAmount
required |
number (double)
|
The Qualified Health Plan (QHP) amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| rxAmount
required |
number (double)
|
The prescription (Rx) amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| visionAmount
required |
number (double)
|
The vision care amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dentalAmount
required |
number (double)
|
The dental care amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| clinicalAmount
required |
number (double)
|
The clinical care amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| copayAmount
required |
number (double)
|
The copay amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transitAmount
required |
number (double)
|
The transit amount for the FSA.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| partialAuthSupport
required |
boolean
|
Whether partial authorization is supported for this transaction. FSA/HSA card
acceptance effectively requires partial auth per IRS Rev. Rul. 2003-43 / Notice
2006-69 and SIGIS merchant operating rules: cardholders frequently have mixed
eligible and ineligible purchases, and partial auth lets the FSA-eligible portion
approve even when the full transaction exceeds the FSA balance.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
lodging
required |
LodgingData
LodgingData |
Lodging detail for a stay-related transaction, for merchants transacting under a lodging
industry.
Conditional: When Lodging is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of LodgingData:
| Field |
Type |
Description |
checkInDate
required |
string (date)
|
The date the guest checked in, or is expected to.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| checkOutDate
required |
string (date)
|
The date the guest checked out, or is expected to.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| nights
required |
integer (int32)
|
How many nights the stay covers.
Conditional: When Nights is not null. Range: 1 to 99.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| folioNumber
required |
string
|
The property's own reference for the guest's bill.
nullablemax length 22
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| saleCode
required |
LodgingSaleCode
LodgingSaleCode |
What kind of lodging charge this is.
Conditional: When SaleCode is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Sale |
An ordinary stay, settled against the guest's folio. | NoShow |
A guaranteed reservation the guest did not arrive for, charged under the property's no-show policy. | Deposit |
An advance deposit taken against a future stay. | DelayedCharge |
A charge added after the guest checked out, for something attributable to the stay (a bar tab posted late, a room found damaged). | ExpressService |
Express checkout: the folio is settled without the guest presenting the card again. | AssuredReservation |
A reservation the property guaranteed to hold, which is what makes a later NoShow chargeable. |
| chargeDescriptor
required |
LodgingChargeDescriptor
LodgingChargeDescriptor |
Which part of the property the charge arose in.
Conditional: When ChargeDescriptor is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Lodging |
A room charge. The ordinary case. | Restaurant |
A restaurant charge. | GiftShop |
A gift-shop charge. | HealthClub |
A health-club or spa charge. | HairSalon |
A hair-salon charge. | ConventionFees |
A convention or meeting-room fee. | TennisClub |
A tennis-club charge. | GolfShop |
A golf-shop charge. |
| extraCharges
required |
LodgingExtraCharges
LodgingExtraCharges |
The ancillary items the folio included beyond the room.
Conditional: When ExtraCharges is not null. Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
None |
Room charges only. An explicit statement, not an absent one. | Restaurant |
Restaurant charges. | GiftShop |
Gift-shop charges. | MiniBar |
Mini-bar charges. | Telephone |
Telephone charges. | Laundry |
Laundry charges. | Other |
Charges that fit none of the named categories. |
| extraChargeAmount
required |
number (double)
|
How much of the amount is accounted for by `extraCharges`.
Conditional: When ExtraChargeAmount is not null. Must be > 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| preferredCustomer
required |
boolean
|
Whether the guest is enrolled in the property's loyalty programme.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
softDescriptor
required |
SoftDescriptor
SoftDescriptor |
Soft descriptor information for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of SoftDescriptor:
| Field |
Type |
Description |
altMerchantName
required |
string
|
The alternative merchant name.
nullablemax length 30
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| altMerchantAddress
required |
Address
Address |
The alternative merchant address.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
duplicateCheck
required |
boolean
|
Indicates whether to perform a duplicate check for the transaction. Omit the field to
let the merchant's screening configuration decide, which is what happens today. Send
false to waive the check, which the merchant must have permitted. Sending true never
turns screening on for a merchant who has not configured it.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
register
required |
TransactionRegister
TransactionRegister |
Register information for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of TransactionRegister:
| Field |
Type |
Description |
id
required |
string (uuid)
|
The unique identifier for the transaction register.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| name
required |
string
|
The name of the transaction register.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
invoiceData
required |
Invoice
Invoice |
Invoice data associated with the transaction, carrying the customer and the amounts.
Required: Conditional (see validator source).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of Invoice:
| Field |
Type |
Description |
customerId
required |
string (uuid)
|
The unique identifier of the customer associated with this invoice.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| amounts
required |
TrxAmounts
TrxAmounts |
The amounts associated with this invoice.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isEstimatedAmount
required |
boolean
|
Value indicating whether the amount on this invoice is estimated.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isTaxExempt
required |
boolean
|
Value indicating whether this invoice is tax exempt.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| shippingAddress
required |
Address
Address |
The shipping address for this invoice.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
originalTransaction
required |
OriginalTransaction
OriginalTransaction |
Data about the original transaction; a `Return` that names one is paid to the original's card or bank account.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of OriginalTransaction:
| Field |
Type |
Description |
transactionId
required |
string
|
The unique identifier for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| pnRef
required |
integer (int32)
|
The PNRef (Processor's Reference Number) for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| authCode
required |
string
|
The authorization code for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transactionType
required |
TransactionType
TransactionType |
The transaction type of the original transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Authorization |
Represents an authorization transaction, typically used to verify funds availability without capturing the amount. | Sale |
Represents a sale transaction, which authorizes and captures funds in a single step. | Return |
Represents a return transaction, used to refund money to the customer. | Void |
Represents a void transaction, used to cancel a previously authorized transaction before it is settled. | Force |
Represents a force transaction, typically used to manually enter a previously authorized transaction. | Capture |
Represents a capture transaction, used to capture funds from a previously authorized transaction. | CaptureAll |
Represents a capture all transaction, used to capture funds from multiple previously authorized transactions. | RepeatSale |
Represents a repeat sale transaction, used to process a new sale based on a previous transaction's details. | Adjustment |
Represents an adjustment transaction, used to modify the amount of a previous transaction. | Activate |
Represents an activate transaction, typically used to activate a gift card or prepaid card. | Deactivate |
Represents a deactivate transaction, typically used to deactivate a gift card or prepaid card. | Redeem |
Represents a redeem transaction, typically used to redeem value from a gift card or loyalty program. | Inquire |
Represents an inquire transaction, used to check the status or balance of an account or card. | Reload |
Represents a reload transaction, typically used to add value to a gift card or prepaid card. | VoucherClear |
Represents an offline EBT voucher clear: a terminal was offline, a paper food-stamp (SNAP) or eWIC voucher was written against a voice-obtained approval code, and the voucher is later uploaded so the benefit clears. Permitted on EBT SNAP and eWIC tenders only. | Payout |
Represents a payout transaction, used to push funds from the merchant to an external bank account as an ACH credit. Unlike Return, which refunds a prior debit, a payout is a standalone outbound fund transfer with no originating transaction. |
| entryMode
required |
EntryModes
EntryModes |
The entry mode used in the original transaction, if available.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Unknown |
The entry mode is unknown. | NotApplicable |
The entry mode is not applicable for this transaction. | Manual |
The transaction details were entered manually. | UnencryptedCardReaderSwipe |
The card was swiped through an unencrypted card reader. | EncryptedCardReaderSwipe |
The card was swiped through an encrypted card reader. | Icc |
The transaction was processed using an ICC (Integrated Circuit Card) or chip card. | Proximity |
The transaction was processed using a proximity or contactless payment method. | Fallback |
The transaction was processed using a fallback method when the primary method failed. | TechnicalFallback |
The transaction was processed using a fallback method when the primary method failed. | EmptyCandidateFallback |
The transaction was processed using a fallback method when the primary method failed. | DigitalWallet |
The transaction was processed using a digital wallet. |
| paymentMethodsGranular
required |
PaymentMethodsGranular
PaymentMethodsGranular |
The granular payment method used in the original transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Amex |
American Express card. | Discover |
Discover card. | Visa |
Visa card. | MasterCard |
MasterCard. | JCB |
Japan Credit Bureau card. | CUP |
China UnionPay card. | Diners |
Diners Club card. | Debit |
Debit card. | Ebt |
Electronic Benefit Transfer. | Ach |
Automated Clearing House. | Check |
Check payment. | Cash |
Cash payment. | Generic |
Generic or unspecified payment method. | ApplePay |
Apple Pay digital wallet. | GooglePay |
Google Pay digital wallet. | DigitalWallet |
Generic / unspecified digital wallet. | Paze |
Paze digital wallet. | AlternativePayment |
An alternative payment method approved inside a provider (PayPal, Venmo, Pay Later, Affirm, Klarna, Afterpay) and presented to the gateway as an approval reference. |
| sureChargeAmt
required |
number (double)
|
The surcharge amount from the original transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| authAmt
required |
number (double)
|
The authorized amount from the original transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| totalAmt
required |
number (double)
|
The total amount from the original transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
customFields
required |
array of TrxCustomField
array of TrxCustomField |
Custom fields for the transaction.
Conditional: When CustomFields is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each TrxCustomField:
| Field |
Type |
Description |
id
required |
string (uuid)
|
Identifier of the custom-field entry.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| name
required |
string
|
Name of the merchant's custom-field definition this value belongs to. Required, at most
50 characters, and free of control characters. On the authenticated API the name must match
an enabled custom-field definition configured for the transaction's merchant.
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| value
required |
string
|
Value captured for the field. At most 300 characters and free of control characters;
printable punctuation is accepted. Any narrower format constraint comes from the regular
expression and maximum length on the merchant's field definition.
nullablemax length 300
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| values
required |
array of string
array of |
The list of values captured for a multi-value field, in the order submitted. At most 250
items; each item is at most 300 characters, non-empty and free of control characters.
Accepted only when the merchant's field definition is flagged multi-value, where the
definition's own maximum length, regular expression and value cap apply to every item.
nullablemax items 250
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
signatureData
required |
SignatureData
SignatureData |
Signature data for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of SignatureData:
| Field |
Type |
Description |
signatureType
required |
SignatureTypes
SignatureTypes |
The type of signature.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Signature1 |
Represents the first signature type. | Signature2 |
Represents the second signature type. | Signature3 |
Represents the third signature type. | Signature4 |
Represents the fourth signature type. | HypercomLegacy |
Represents the legacy Hypercom signature type. | HypercomEnhanced |
Represents the enhanced Hypercom signature type. | Receipt1 |
Represents the first receipt signature type. |
| data
required |
string
|
The signature data.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
level2Data
required |
Level2Data
Level2Data |
Level 2 data for the transaction (e.g., tax, purchase order).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of Level2Data:
| Field |
Type |
Description |
poNumber
required |
string
|
The purchase order number.
nullablemax length 25
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transactionDate
required |
string (date-time)
|
The date and time of the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| merchantZip
required |
string
|
The zip code of the merchant.
nullablemax length 10
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
level3Data
required |
Level3Data
Level3Data |
Level 3 data for the transaction (e.g., line item details).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of Level3Data:
| Field |
Type |
Description |
shipFromZip
required |
string
|
The ZIP code from where the item is shipped.
Conditional: When ShipFromZip is not null. Max length: 10.
nullablemax length 10
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| destinationZip
required |
string
|
The destination ZIP code for the shipment.
Conditional: When DestinationZip is not null. Max length: 10.
nullablemax length 10
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| destinationCountryCode
required |
string
|
The destination country code for the shipment (ISO 3166-1 alpha-3 format).
Conditional: When DestinationCountryCode is not empty. Pattern: ^[A-Z]{3}$.
nullablemax length 3
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| invoiceNumber
required |
string
|
The invoice number associated with the transaction.
Conditional: When InvoiceNumber is not null. Max length: 25.
nullablemax length 25
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| orderNumber
required |
string
|
The order number for the transaction.
Conditional: When OrderNumber is not null. Max length: 25.
nullablemax length 25
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dutyAmount
required |
number (double)
|
The total duty amount for the transaction. Must be non-negative.
Conditional: When DutyAmount is not null. Must be >= 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| freightAmount
required |
number (double)
|
The total freight/shipping amount for the transaction. Must be non-negative.
Conditional: When FreightAmount is not null. Must be >= 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| discountAmount
required |
number (double)
|
The total discount amount applied at the header level. Must be non-negative.
Conditional: When DiscountAmount is not null. Must be >= 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| lineItems
required |
array of Level3LineItem
array of Level3LineItem |
The list of line items associated with the transaction.
nullablemax items 250
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
ebt
required |
EbtData
EbtData |
EBT voucher data for the transaction (offline SNAP / Cash voucher-clear flow).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of EbtData:
| Field |
Type |
Description |
voucherNumber
required |
string
|
The EBT voucher number captured during an offline food-stamp voucher-clear. Flows
through to TSYS `CcBenefit1.VoucherNumber` and Fiserv `EbtGrp.VoucherNum`.
nullablemin length 0max length 10
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| voucherApprovalCode
required |
string
|
The offline EBT voucher approval code (the legacy `EbtVoucherCode`). Flows through
to TSYS `CcBenefit1.VoucherCode`.
nullablemin length 0max length 10
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
useInterchangeDefaults
required |
boolean
|
Indicates whether to use interchange defaults for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
skipOrderDataDefaults
required |
boolean
|
When true, the server does not apply the merchant's configured Level 2/3 defaults to
the transaction. Set by the Virtual Terminal when the operator chose "Enter Manually"
in the BIN-driven prompt. API submissions usually leave this null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
captureType
required |
CaptureTypes
CaptureTypes |
The capture type for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Credit |
Represents a credit card transaction. | Debit |
Represents a debit card transaction. | Check |
Represents a check transaction. | EBT |
Represents an Electronic Benefit Transfer (EBT) transaction. |
|
responseData
required |
TransactionResponseData
TransactionResponseData |
Response data for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of TransactionResponseData:
| Field |
Type |
Description |
cardValidationData
required |
CardValidationData
CardValidationData |
The card validation data associated with the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| resultCode
required |
ResultCode
ResultCode |
The result code of the transaction. Defaults to ResultCode.Undefined.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Ok |
Indicates a successful operation. | UserAuthenticationFailed |
Indicates that user authentication has failed. | InvalidTransaction |
Indicates that the transaction is invalid. | InvalidTransactionType |
Indicates that the transaction type is invalid. | InvalidAmount |
Indicates that the amount specified in the transaction is invalid. | InvalidMerchantInfo |
Indicates that the merchant information provided is invalid. | InvalidRegisterInfo |
Indicates that the register information provided is invalid. | FieldFormatError |
Indicates an error in the format of a field. | NotATransactionServer |
Indicates that the server is not a transaction server. | InvalidParameterStream |
Indicates that the parameter stream is invalid. | TooManyLineItems |
Indicates that there are too many line items in the transaction. | ClientTimeoutWaitingForResponse |
Indicates that the client timed out while waiting for a response. | Decline |
Indicates that the transaction was declined. | Referral |
Indicates that the transaction requires a referral. | TransactionTypeNotSupportedInThisVersion |
Indicates that the transaction type is not supported in the current version. | Partial |
Indicates a partial completion of the transaction. | DuplicateBatchProcessed |
Indicates that a duplicate batch has been processed. | IndeterminateBatchState |
Indicates that the batch state is indeterminate. | Reject |
Indicates that the transaction was rejected. | OriginalTransactionIdNotFound |
Indicates that the original transaction ID was not found. | CustomerReferenceNumberNotFound |
Indicates that the customer reference number was not found. | AccountNumberTruncated |
Indicates that the account number was truncated. | InvalidAbaNumber |
Indicates that the ABA (American Bankers Association) number is invalid. | InvalidAccountNumber |
Indicates that the account number is invalid. | InvalidExpirationDate |
Indicates that the expiration date is invalid. | TransactionTypeNotSupportedByHost |
Indicates that the transaction type is not supported by the host. | InvalidReferenceNumber |
Indicates that the reference number is invalid. | InvalidReceiptInformation |
Indicates that the receipt information is invalid. | InvalidCheckHolderName |
Indicates that the check holder name is invalid. | InvalidCheckNumber |
Indicates that the check number is invalid. | CheckDlVerificationRequiresDlState |
Indicates that check DL verification requires a DL state. | PaymentTypesDoNotMatch |
Indicates that the payment types do not match. | InvalidVNumber |
Indicates that the V number is invalid. | Submit |
Indicates that the transaction should be submitted. | Pend |
Indicates that the transaction is pending: nothing was created and nothing went wrong, the outcome is simply not final yet. | InsufficientFundsAvailable |
Indicates that there are insufficient funds available for the transaction. | GeneralError |
Indicates a general error has occurred. | TimeoutValueTooSmall |
Indicates that the timeout value is too small. | ProcessorNotAvailable |
Indicates that the processor is not available. | ErrorReadingResponseFromHost |
Indicates an error occurred while reading the response from the host. | TimeoutWaitingForProcessorResponse |
Indicates a timeout occurred while waiting for the processor response. | CreditError |
Indicates a credit error has occurred. | HostNotAvailable |
Indicates that the host is not available. | DuplicateSuppressionTimeout |
Indicates a timeout occurred during duplicate suppression. | VoidError |
Indicates an error occurred during a void operation. | TimeoutWaitingForHostResponse |
Indicates a timeout occurred while waiting for the host response. | DuplicateTransaction |
Indicates that the transaction is a duplicate. | CaptureError |
Indicates an error occurred during capture. | FailedAvsCheck |
Indicates that the AVS (Address Verification System) check failed. | CannotExceedSalesCap |
Indicates that the transaction cannot exceed the sales cap. | NetworkNotFound |
Indicates that the network was not found. | ReversalError |
Indicates an error occurred during reversal. | InvalidIssuer |
Indicates that the issuer is invalid. | InvalidIndustry |
Indicates that the industry is invalid. | InvalidCompliance |
Indicates that the compliance is invalid. | RegisterNotAuthenticated |
Indicates that the register is not authenticated. | RegisterAuthenticationFailed |
Indicates that register authentication failed. | RegisterAlreadyAuthenticated |
Indicates that the register is already authenticated. | ProcessorNotConfigured |
Indicates that no active processor profile is configured for the transaction's payment method. This is a merchant configuration issue, not a communications failure. | PinDebitNotSupportedOnCreditBin |
Indicates that the request carried PIN data while the resolved BIN funding source is Credit. A credit BIN cannot take a PIN debit authorization, so the request contradicts itself rather than merely being underspecified, and the gateway rejects it before the processor sees it. | CardNotAcceptedByMerchantPolicy |
Indicates that the merchant's card acceptance policy refuses this card. The card was judged from its BIN by funding source, issued entity and issuer country, and one of those axes is one the merchant has configured itself not to take. | ThreeDSecureAuthenticationRequired |
Indicates that the merchant requires 3-D Secure authentication on this kind of transaction and the transaction arrived without a usable authentication: none ran, the issuer did not authenticate the cardholder, or the result the pipeline was handed failed validation. | CashAmountExceedsMerchantPolicy |
Indicates that a cash sale is above the largest cash sale the merchant's cash policy allows. | CashRegisterRequiredByMerchantPolicy |
Indicates that a cash sale names no register (till) and the merchant's cash policy requires one. | CashSourceNotAllowedByMerchantPolicy |
Indicates that a cash sale came from a source other than the Virtual Terminal and the merchant's cash policy takes cash at the Virtual Terminal only. | GenericHostError |
Indicates a generic host error. | InvalidLogin |
Indicates that the login is invalid. | InsufficientPrivilege |
Indicates insufficient privileges for the operation. | InvalidLoginBlocked |
Indicates that the invalid login has been blocked. | InvalidLoginDeactivated |
Indicates that the invalid login has been deactivated. | TransactionTypeNotAllowed |
Indicates that the transaction type is not allowed. | UnsupportedProcessor |
Indicates that the processor is not supported. | InvalidRequestMsg |
Indicates that the request message is invalid. | InvalidVersion |
Indicates that the version is invalid. | PaymentTypeNotSupported |
Indicates that the payment type is not supported. | ErrorStartingTransaction |
Indicates an error occurred while starting the transaction. | ErrorFinishingTransaction |
Indicates an error occurred while finishing the transaction. | ErrorCheckingDuplicate |
Indicates an error occurred while checking for duplicates. | NoRecordsToSettle |
Indicates that there are no records to settle. | NoRecordsToProcess |
Indicates that there are no records to process. | MustSettleAllPaymentTypes |
Indicates that all payment types must be settled. | InvalidPoNumber |
Indicates that the PO (Purchase Order) number is invalid. | FraudControlDecline |
Indicates a fraud control decline. | FraudControlAuthAndHold |
Indicates a fraud control authorization and hold. | FraudControlNoAuthAndHold |
Indicates a fraud control with no authorization and hold. | FraudControlAudit |
Indicates a fraud control audit. | PolicyRejected |
The transaction was rejected by the merchant's own address verification (AVS) or security code (CVV) policy rather than by the issuer. Not an error: the request was answered, and the answer is on the transaction. responseData.declineReasonCode says which of two shapes it took, using the published decline reason vocabulary (/docs/decline-reason-codes on the developer portal): CV_REJECTED when the processor approved and the platform then released the hold with a reversal or void, and CV_NATIVE_DECLINE when the processor applied the rule itself and declined outright, so no hold was ever placed. | Undefined |
Indicates an undefined or unspecified result. |
| resultMessage
required |
string
|
The result message of the transaction. For successful (Ok) transactions this is normalized
against a case-insensitive allow-list of canonical approved messages ("Approved", "Card OK",
"Partial Approval"); when the trimmed processor text matches the allow-list its original
casing is preserved, otherwise the message is rewritten to "Approved" so the UI/transaction
explorer does not surface processor-specific AVS/CVV chatter (e.g. TSYS host text like
"NO MATCH") as if it were a transaction-level outcome. For non-Ok results the trimmed
processor text passes through verbatim so decline/error reasons remain actionable.
The processor's original message (leading/trailing whitespace trimmed but otherwise
untouched) is preserved on `originalProcessorMessage` for audit/diagnostics.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| originalProcessorMessage
required |
string
|
The processor's result text as returned by the processor handler, prior to approved-message
normalization. Trimmed of leading/trailing whitespace but otherwise unmodified: preserves
processor context (e.g. "APPROVED - {host text}", "NO MATCH") that `resultMessage`
may have collapsed to a generic "Approved" for UI consumption. Null when the processor
supplied no text or only whitespace.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| debitTraceNumber
required |
string
|
The debit trace number for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| resultDetail
required |
string
|
Gets or sets additional details about the transaction result.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| authorizationCode
required |
string
|
The authorization code for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| responseDate
required |
string (date-time)
|
The date and time when the response was received.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| authorizingNetworkId
required |
string
|
Identifies <b>which network authorized</b> the transaction, as the processor labelled it.
A short code from the processor's own vocabulary (Fiserv sends one to three alphanumerics;
Paymentech sends a name-like token such as "VISA"), constant across every transaction that
routed the same way. It is not a per-transaction identifier: to match a single authorization
back to the network, read `networkReferenceId` instead. Fiserv sends this and
`authorizingNetworkName`; Paymentech sends this alone. Null when the processor
supplied no network identification.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| authorizingNetworkName
required |
string
|
The authorizing network's name, when the processor sends one alongside
`authorizingNetworkId`. Fiserv sends it; Paymentech sends no name, so this stays
null there. Like the id, it identifies the routing, not the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| routingIndicator
required |
RoutingIndicator
RoutingIndicator |
The routing indicator for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
ProcessedAsCredit |
Indicates that the transaction was processed as a credit transaction. | ProcessedAsDebit |
Indicates that the transaction was processed as a debit transaction. | ProcessedAsStarSignatureDebit |
Indicates that the transaction was processed as a Star Signature debit transaction. |
| customerSignatureRecommended
required |
boolean
|
Value indicating whether a customer signature is recommended.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorResponseDetail
required |
ProcessorResponseDetail
ProcessorResponseDetail |
Gets or sets detailed response information from the processor.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| associationResponseCode
required |
AssociationResponseCode
AssociationResponseCode |
The association response code for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
ExpiredCard |
| AccountUpgrade |
| PortfolioSale |
| Conversion |
| NewAccountInfoAvailable |
| AccountClosedFraudulent |
| RetryWith3ds |
| OverCreditLimit |
| InsufficientFunds |
|
| responseCategoryCode
required |
ResponseCategoryCode
ResponseCategoryCode |
The response category code for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
IssuerNeverApproves |
Indicates that the issuer never approves this type of transaction. | IssuerCannotApprove |
Indicates that the issuer cannot approve this transaction at this time. | DataQualityRevalidate |
Indicates that the data quality needs to be revalidated. |
| cardIndicator
required |
string
|
The card indicator for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| detailedProductId
required |
string
|
The detailed product ID associated with the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| clientIpAddress
required |
string
|
The client's IP address for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| amounts
required |
ResponseAmounts
ResponseAmounts |
The response amounts for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementXmlData
required |
string
|
Settlement data received from the processor. The stored value is a masked sentinel
(`"****"`) that indicates settlement data was received and processed, without exposing
the original content.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorResponseCode
required |
string
|
Processor-specific response code (e.g., "00" for approved).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorTraceNumber
required |
string
|
Retrieval reference number / trace number from processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| networkReferenceId
required |
string
|
The <b>per-transaction</b> reference the card network assigned at authorization: the Visa
Transaction Identifier, the Mastercard BankNet reference, or the equivalent on another
network. It identifies this one authorization and is the value to quote when matching a
single transaction back to the network or anchoring a stored-credential chain to it. Null
when the processor returned no such reference.
It is not the name or code of the network that authorized: that is
`authorizingNetworkId` and `authorizingNetworkName`. Fiserv and
Paymentech return no per-transaction reference at all, so this is null on those rails,
except that during a transitional compatibility window it repeats their
`authorizingNetworkId` so integrations reading it here keep working. Read
`authorizingNetworkId` for a network identity; that window will close.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorTransactionId
required |
string
|
Processor transaction identifier.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transactionNumber
required |
string
|
Transaction number from processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| batchNumber
required |
string
|
Batch number from processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| authorizationSource
required |
string
|
Authorization source indicator.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| declineReasonCode
required |
string
|
Why the transaction did not go through, as one value from the platform's processor-agnostic
decline reason vocabulary (for example `DO_NOT_HONOR`, `INSUFFICIENT_FUNDS`,
`CV_REJECTED`). Populated on a declined, failed, or policy-rejected result and absent on
an approval. The vocabulary is the same whichever processor handled the authorization: the
processor's own code is on `processorResponseCode`. Every value, its meaning, and
whether an authorization hold was placed and released, is published on the developer portal
at `/docs/decline-reason-codes`. Branch on this field rather than on
`declineReasonDescription`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| declineReasonDescription
required |
string
|
A readable description of the decline that goes with `declineReasonCode`, in the
processor's or the platform's own words (for example `Insufficient Funds`). Wording can
change without notice; the stable value to branch on is `declineReasonCode`, whose
vocabulary is published on the developer portal at `/docs/decline-reason-codes`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementAmount
required |
number (double)
|
Settlement amount from processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementDate
required |
string (date-time)
|
Settlement date from processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cardLevelResults
required |
string
|
Card level results (A/B/C for Visa/MC card levels).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| returnedAci
required |
string
|
The Returned ACI (Authorization Characteristics Indicator) the network echoed back on the
authorization response, stored as the raw single-character code. It reports how the
transaction actually qualified (for CPS and related programs), which can differ from the ACI
the gateway requested. Meanings are processor-specific, so the friendly description is
resolved at display time from the transaction's processor key via
`ReturnedAciCatalog` rather than persisted here. Null when the processor returned
no ACI (blank / space-filled) and on every non-card flow. Non-sensitive protocol metadata.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| posDataCode
required |
string
|
POS data code.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| validationCode
required |
string
|
Validation code from processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| additionalProcessorData
required |
object
|
Additional processor-specific response data, keyed by merchant-facing display label.
Populated by the per-processor detail-extraction registry
(`ProcessorDetailExtractionExecutor`) from the processor's settlement/detail
aggregate at authorization time.
Every key is governed by the registry's PCI allowlist (`ProcessorDetailPciPolicy`),
which is what makes this dictionary safe on all three surfaces it reaches: the
merchant-facing transaction DTO, outbound webhook projection, and the transaction
history `DetailsJson` copy of the `/ResponseData` patch. Card number, track,
EMV, CVV, and expiration can never land here. Size is capped by
`ProcessorDetailBudget` because the history copy duplicates this value per entry.
Not queryable: `/ResponseData/AdditionalProcessorData/*` is index-excluded. A
field that needs server-side filtering or reporting must be promoted to a typed
property instead.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| eci
required |
string
|
Electronic Commerce Indicator returned by the network, canonicalized by the
processor's detail adapter (upper-cased, whitespace-trimmed, leading zeros
preserved: `05` and `5` are distinct ECI values). Promoted to a typed
property because it is network-defined, normalizable across processors, and used for
interchange-qualification reporting. `null` when the processor
returned none.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| entryDataSource
required |
string
|
Entry data source indicator describing how the card data reached the terminal
(keyed, swiped, contactless, stored credential), canonicalized by the processor's
detail adapter. Promoted because entry mode is semantically common across processors
and drives downgrade/qualification analysis. `null` when the
processor returned none.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| requestedAci
required |
string
|
Authorization Characteristics Indicator the gateway <em>requested</em> for this
authorization, extracted from the processor's settlement/detail aggregate. Promoted to a
typed, queryable property rather than left in `additionalProcessorData`,
because dictionary values can never be queried server-side.
`null` when the processor returned none.
<b>What a difference from `returnedAci` means depends on the processor.</b> On
a processor whose requested value is an interchange qualification tier, a returned value
differing from the requested one means the transaction downgraded to a costlier tier. On
Fiserv it does not: the requested value there is a participation request drawn from
P, I, Y, R rather than a tier, and the gateway sends Y on every Visa credit authorization
and sale, so a requested Y against a returned A, E or W is the normal qualified outcome.
On that rail the not-qualified signal is a returned N or T. Read the pair per processor;
a single cross-processor comparison rule would report Fiserv downgrades that did not
happen.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hostReferenceNumber
required |
string
|
An opaque, processor-assigned reference for this transaction that the gateway quotes back to
the same processor on a follow-up operation. Which processor identifier it holds depends on
the processor, and on TSYS on the product path as well, so neither its format nor its meaning
is stable across processors. It is not a retrieval reference number on every processor, it is
not an acquirer reference number, and it is not a network reference: an integrator wanting a
standard identifier should read `processorTraceNumber` (the retrieval reference / trace
number) or `networkReferenceId` (the network transaction reference) instead of this
property. Per processor: on Fiserv it is the authorization network trace id, and the same
value is also reported in `processorTraceNumber`, so the two are equal. On Paymentech it
is the host retrieval reference number, which is likewise also reported in
`processorTraceNumber`. On TSYS it is the host transaction id for ecommerce, retail,
retail card-not-present, EMV retail, healthcare, non-EMV PIN debit and the partially approved
EBT branch, and the retrieval reference number for the approved EBT branch, for EMV PIN debit
and on the reversal path. On MagTek DAF it is the Magensa transaction id. On VeriCheck and
VeriCheck v2 it is the provider's payment uuid. On the loopback simulator it is
`null`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| achTraceNumber
required |
string
|
NACHA-format ACH trace number echoed back by the ACH processor (15 characters:
8-digit Originating Depository Financial Institution identifier + 7-digit
sequence). Stable for the logical transaction lifecycle: capture, refund,
reversal, and return responses repeat the trace assigned at authorization
so downstream consumers can correlate the lifecycle to a single ACH entry.
Null on card flows.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| nachaReturnCode
required |
string
|
NACHA return code (e.g. `R01`, `R02`, `R10`) when the ACH
transaction was returned by the receiving bank. `null` on
approved/pending entries and on all card flows. The full canonical list is
R01 through R85 per the NACHA Operating Rules.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| nachaReturnReason
required |
string
|
Human-readable reason text paired with `nachaReturnCode` (for example
"Insufficient Funds" for R01, "Account Closed" for R02). Surfaced verbatim in
the audit log and transaction explorer to spare consumers from maintaining
their own code-to-reason mapping. Null when `nachaReturnCode` is null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| effectiveEntryDate
required |
string (date)
|
The effective entry date the ACH entry will post to the receiving account, in the
originator's local processing window. After the daily NACHA cutoff this rolls
forward to the next banking day. Null on card flows.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| originatingDfi
required |
string
|
ABA routing number of the Originating Depository Financial Institution that
transmitted the entry on behalf of the gateway/merchant. Null on card flows.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| secCode
required |
string
|
Standard Entry Class code echoed from the request: for example
`PPD`, `CCD`, `WEB`, `TEL`, `ARC`. Mirrors
`secCode` as a string so the response shape matches
raw NACHA carrier fields rather than the gateway's enum representation.
Null on card flows.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| micrEcho
required |
string
|
Verbatim echo of the inbound MICR line when the request carried check-image
data (POP, ARC, BOC). Null for non-image ACH flows (PPD, CCD, WEB, TEL) and
on all card flows.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| tokenResult
required |
TransactionTokenResult
TransactionTokenResult |
When the card on this transaction was vaulted (HPP / VT save-card-on-payment), the
merchant-facing token the gateway generated, so it can be retrieved from the
transaction response / HPP callback / webhook and charged later. `null` when the
card was not tokenized. Server-produced; never accepted on a create request. The
internal vault id is on `Transaction.PaymentTokenId` and is not emitted here.
.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorTokenId
required |
string
|
Reusable processor token captured from the processor at authorization time
(TSYS wire path first). Populated only on a successful tokenizing auth: an auth the
gateway gated on (SaveCardRequested AND the routed processor advertises tokenization AND
the merchant preference), otherwise `null`.
This identifier is PAN-correlating. It is encrypted at rest, is never returned on the
merchant-facing transaction, and is never included in an outbound webhook.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorTokenStatus
required |
string
|
The processor's status for the token minted on this auth (e.g. active /
provisioned). Non-sensitive processor metadata; `null` on non-tokenizing auths.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| tokenRequestorId
required |
string
|
The network Token Requestor ID the token was minted under, echoed back by the
processor. Non-sensitive scheme/config identifier; `null` when not applicable.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| processorTokenProfileId
required |
string (uuid)
|
The processor profile id the token was minted under, so a later stored-credential
charge can be routed through the same processor profile. `null` on
non-tokenizing auths.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isPartialApproval
required |
boolean
|
Whether the issuer approved less than the amount requested (a partial approval).
`amounts.requested` and `amounts.approved` give the two amounts, and
`amounts.balanceDue` the shortfall. Absent when the issuer approved the full amount.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
settleData
required |
TransactionSettleData
TransactionSettleData |
Settlement data for the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of TransactionSettleData:
| Field |
Type |
Description |
estimatedSettleDate
required |
string (date-time)
|
The estimated settlement date for the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dateSettled
required |
string (date-time)
|
The actual date when the transaction was settled.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| flag
required |
SettleFlag
SettleFlag |
Legacy settlement flag. Use `settlementStatus` instead.
deprecated
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Open |
The transaction is open and not yet settled. | Settled |
The transaction has been successfully settled. | RolledBack |
The transaction has been rolled back or reversed. | InProgress |
The transaction is currently in the process of being settled. | Hold |
The transaction is on hold and cannot be settled at the moment. |
| processorBatchId
required |
string
|
The processor's batch identifier for this transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| gatewayBatchId
required |
string (uuid)
|
The gateway's batch identifier for this transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementDataJson
required |
string
|
Settlement aggregate data as a JSON string (converted from processor XML).
This contains the data needed to settle the transaction with the processor.
Encrypted at rest.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementStatus
required |
SettlementStatus
SettlementStatus |
Current settlement status of the transaction for processor settlement tracking.
Treat null as `WaitingForSettlement`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
WaitingForSettlement |
Transaction is waiting to be settled with the processor | SettlementSucceeded |
Settlement completed successfully with the processor | SettlementFailed |
Settlement failed - requires review and retry (rollback) | NotEligible |
Transaction is not eligible for settlement (voided, reversed, or not yet captured) | SettlementInProgress |
Settlement is currently in progress with the processor. | SettlementOnHold |
Settlement is on hold and cannot proceed at the moment. | SettlementRolledBack |
Settlement was rolled back or reversed after a completed attempt. Distinct from SettlementFailed which indicates a transient failure needing retry. | ReversalFailed |
A reversal was attempted but the processor did not confirm that the authorization hold was voided: the contributor saw a non-Ok result code (transport failure, timeout, swallowed exception, malformed response, etc.). Distinct from NotEligible (a confirmed reversal/void) and SettlementFailed (a settlement-time failure). Operations need to confirm the hold state with the processor and reverse manually if required. The transaction's Stage is left at the pre-reversal value; the close-stage history entry is NOT written. | Pending |
The provider owns settlement and reports the outcome on its own schedule, so the transaction belongs to no gateway batch. Used for ACH sales and alternative payments. A background sync moves the transaction on as the provider reports, through any of the ACH in-flight statuses, to a terminal status. | Accepted |
The ACH processor has accepted the transaction for processing. VeriCheck V2 only: the entry has been received and accepted by the payment network. | Originated |
The ACH transaction has been originated (submitted to the NACHA network). VeriCheck V2 only: the debit has been forwarded to the RDFI. | Verifying |
The ACH processor is verifying the bank account before origination. VeriCheck V2 only: the check runs on the processor's side, before the debit reaches the ACH network. | PartiallySettled |
The ACH transaction has been partially settled. VeriCheck V2 only: a portion of the funds have cleared. |
| settlementAttemptedAt
required |
string (date-time)
|
Timestamp when settlement was last attempted with the processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settledAt
required |
string (date-time)
|
Timestamp when settlement succeeded with the processor.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementRetryCount
required |
integer (int32)
|
Number of settlement retry attempts. Treat null as 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| settlementErrorMessage
required |
string
|
Error message if settlement failed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| batchId
required |
string
|
Gateway batch identifier assigned at authorization time for batch boundary management.
Transactions are grouped into settlement batches by this ID, which is stamped from
the merchant's `CurrentBatchId` during the authorization flow.
Nullable because existing documents predate this property.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| closedSettlementBatchId
required |
string (uuid)
|
Identifier of the closed settlement batch that settled this transaction, set when the batch
closes. `null` until then, and on transactions settled in batches that closed before this
field was recorded.
Distinct from the other batch identifiers on this type: `batchId` / `gatewayBatchId`
are the open batch at authorization time, and `processorBatchId` is the processor's batch
reference; none of them equals the settlement batch's id.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| overrideHistory
required |
array of SettlementStatusOverrideRecord
array of SettlementStatusOverrideRecord |
Append-only list of admin-driven manual overrides applied to `settlementStatus`.
Populated by the `Transaction.OverrideSettlementStatus` domain method.
Null, and omitted, on transactions that have never had a manual override (the default for
the vast majority of rows).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
processorKey
required |
string
|
The processor type key (e.g. "tsys", "fiserv") that processed this transaction.
Display-only: set during authorization and not modifiable via create/update.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
sourceData
required |
TransactionSourceData
TransactionSourceData |
Gets or sets the source data associated with the transaction.
Conditional: When SourceData is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of TransactionSourceData:
| Field |
Type |
Description |
source
required |
TransactionSource
TransactionSource |
The primary source of the transaction (virtual terminal, API, etc.).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Unknown |
The source of the transaction is unknown or not specified. | VirtualTerminal |
The transaction originated from a virtual terminal interface. | Api |
The transaction was initiated through an API call. | HostedPaymentPage |
The transaction was processed via a hosted payment page. | RecurringBilling |
The transaction is part of a recurring billing cycle. | OfflineBatch |
The transaction was processed as part of an offline batch. | Invoicing |
The transaction is an automatic charge against an invoice (e.g. a recurring-invoice auto-charge or a smart-retry attempt) submitted by the Invoicing module. |
| hostedPaymentPageId
required |
string (uuid)
|
When `source` is `HostedPaymentPage`,
this is the ID of the hosted payment page where the transaction was run.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| contractId
required |
string (uuid)
|
When `source` is `RecurringBilling`,
this is the ID of the recurring billing contract.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| offlineBatchId
required |
string (uuid)
|
When `source` is `OfflineBatch`,
this is the ID of the batch which submitted the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| invoiceId
required |
string (uuid)
|
When `source` is `Invoicing`,
this is the ID of the invoice the automatic charge (or smart-retry attempt)
is settling. Stamped server-side by the Invoicing module's auto-charge executor;
the join key used to reconcile the resulting transaction back onto the invoice.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| apiKeyId
required |
string (uuid)
|
When `source` is `Api`,
this is the ID of the api key used to submit the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| apiKeyName
required |
string
|
The name associated with the API key used as the source of the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| usedHppSession
required |
boolean
|
Indicates the transaction was initiated via an HPP pre-filled session.
Set to `true` when a session was resolved and consumed during form submission.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| usedManualStoredPaymentMethodAdd
required |
boolean
|
Indicates the transaction is the internal account verification run when a payment method
is manually added as a stored payment method from the Customers back office.
Set by the server only. Any value a client supplies on a create request is discarded,
so this field is read-only for API callers.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hppSessionId
required |
string (uuid)
|
The ID of the Hosted Payment Page session that produced this transaction.
Populated only when the transaction was created through the HPP session flow;
`null` for every other source (Virtual Terminal, API, recurring billing,
offline batch, and HPP submits that did not resolve a session).
This is a stable, server-supplied join key: integrators that drive transactions
through the HPP session API can read it back from the transaction to correlate
the originating session without subscribing to completion events. Distinct from
`hostedPaymentPageId`, which identifies the reusable page template
rather than the single-use session.
Read-only from a client's perspective: the value is stamped server-side only on
the verified HPP-session create path. Any value supplied on an inbound create
request is ignored and overwritten with `null`, so it cannot be used to
fabricate a session-to-transaction correlation.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| campaignId
required |
string (uuid)
|
The campaign the payment link that produced this transaction belonged to, when it belonged
to one. `null` for every transaction created outside a campaign, which is every
transaction created before campaigns existed and every one whose link named no campaign.
Stamped server-side on the verified HPP-session create path from the session document,
exactly like `hppSessionId`, and scrubbed to `null` on every other create
entrypoint. A campaign report is a claim about which links earned which money, so a value a
caller could supply would let one merchant's traffic be attributed to a campaign it never
ran.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| campaignSource
required |
string
|
The per-channel source tag carried by the payment link that produced this transaction
(`email`, `sms`, `qr`, `social`), when the link carried one. Bounded and
normalized by `CampaignSourceRules`; `null` when the link named no source.
Meaningful only alongside `campaignId`: it is the breakdown inside one
campaign, not a standalone classification. Server-stamped and client-scrubbed on the same
terms as `campaignId`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| promotionCode
required |
string
|
The promotion code that discounted this transaction, in the platform's normalized casing,
or `null` when no promotion was applied, which is every transaction created before
promotions existed and every one the payer entered no code on.
Stamped server-side on the verified HPP-session create path from a re-evaluation the
gateway performed itself, exactly like `campaignId`, and scrubbed to
`null` on every other create entrypoint. A discount is money the merchant gave away,
so a value a caller could supply would let anyone holding a payment link record a
promotion the merchant never issued.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| discountAmount
required |
number (double)
|
The amount the promotion took off the base of this transaction, or `null` when none
was applied.
A record of what was discounted, not a component of what was charged: the base on
`TrxAmounts` is already the discounted figure, so this never participates in
any total. It is what makes the reduction legible afterwards, on a receipt, a report and
the promotion's own redemption ledger. Server-stamped and client-scrubbed on the same
terms as `promotionCode`, and meaningful only alongside it.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| clientIpAddress
required |
string
|
The IP address of the client that initiated the transaction.
Null for system-initiated transactions (recurring billing, offline batch).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| clientIpGeo
required |
ClientIpGeoSnapshot
ClientIpGeoSnapshot |
Point-in-time geolocation / ISP / ASN snapshot resolved at the
enrichment stage from `clientIpAddress`.
Snapshot: does NOT update if the underlying IP intelligence
database changes. Once written by the enrichment pipeline this
value is immutable; subsequent transaction operations (capture,
refund, reversal, repeat, recurring-billing materializations) must
not overwrite it.
Null when no client IP was available (system-initiated
transactions, or when the IP geo provider could not resolve the
address: loopback / private / unrouted ranges).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| clientDevice
required |
ClientDeviceSnapshot
ClientDeviceSnapshot |
Browser context of the client that submitted the transaction: the user agent and the
accept-language header, as observed at create time.
Server-stamped from the request on every surface the platform hosts (hosted payment page,
virtual terminal), and accepted from the request body on the API, where the caller is the
only party that has seen the shopper's browser. Preserved rather than overwritten when a
caller supplies it, exactly like `clientIpAddress`.
Null for system-initiated transactions (recurring billing, offline batch), for every
transaction created before this field existed, and for any caller that sends neither
header. Absent rather than empty when there is nothing to record.
Conditional: When ClientDevice is not null.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| screeningDeviceSignals
required |
object
|
Device signals collected by an external screening provider's own client-side agent,
keyed by the registered screening provider id (a Riskified beacon session id under
`riskified`, a FraudLabs Pro agent checksum under `fraudlabspro`).
A provider's agent runs in the shopper's browser and hands back an opaque token that only
that provider can interpret; the token is the join key between what the agent observed
and the screening call the gateway later makes. Keyed by provider id so a merchant
running two providers keeps the two tokens apart, and so the screening request builder
can hand each provider only its own: see
`TryGetScreeningDeviceSignal`, which is the only sanctioned read.
These are provider session tokens, so they are never logged and never leave the
transaction document except on the screening call to the provider that issued them.
Null when no agent ran, which is every transaction created before this field existed and
every transaction on a surface that renders no agent. Absent rather than empty, for the
reason given on `clientDevice`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| createdByUserId
required |
string (uuid)
|
The user ID of the user who created the transaction.
Null for anonymous or system-initiated transactions.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| metadata
required |
object
|
Optional extra metadata for future sources or provider-specific data.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
tags
required |
array of EntityTag
array of EntityTag |
Tags associated with the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each EntityTag:
| Field |
Type |
Description |
name
required |
string
|
nullablemin length 0max length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| value
required |
string
|
nullablemin length 0max length 150
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
notes
required |
array of EntityNote
array of EntityNote |
Notes associated with the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each EntityNote:
| Field |
Type |
Description |
id
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| enteredBy
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| timestamp
required |
string (date-time)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| enteredByName
required |
string
|
Denormalized display name of the user who created the note.
Populated at creation time from `ICurrentUser` to avoid N+1 lookups when rendering.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| content
required |
string
|
nullablemin length 0max length 1000
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
merchantTransactionId
required |
integer (int64)
|
The unique identifier of the merchant transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
idempotencyKey
required |
string
|
Your own identifier for this create request, used to make a retry safe. Send the same value
again and the gateway returns the transaction the first request produced instead of charging a
second time. This is the recommended pattern for reconciling a create whose response you never
received.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
receiptIds
required |
array of string
array of |
List of receipt IDs generated for this transaction. Used for point-read access to receipts.
Stored as strings: see `receiptIds` remarks for rationale.
Read-only: set by the server; ignored on the AutoMapper write maps.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
decisionNotes
required |
array of TransactionDecisionNote
array of TransactionDecisionNote |
System-emitted decision explanations recorded against this transaction, surfaced
read-only on the transaction-detail view. Like `receiptIds`, this is server state:
it is populated on load for display but ignored on the create/update write maps, so a client
can never persist decision notes.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each TransactionDecisionNote:
| Field |
Type |
Description |
category
required |
TransactionDecisionNoteCategory
TransactionDecisionNoteCategory |
The subsystem that made the decision.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
ConvenienceFee |
The convenience-fee evaluator (first consumer). | Surcharge |
The surcharge eligibility pipeline. Records why a surcharge was not applied to a transaction on an enabled merchant (e.g. debit/prepaid card, restricted state, unsupported network), so the veto reason is queryable/displayable rather than buried in the /SurchargeResult snapshot. The code is a SurchargeIneligibilityReason value name. | FraudReview |
The manual fraud-review hold. Records that a transaction was parked for human disposition and how that hold ended, so the timeline explains a gap between screening and authorization rather than leaving an operator to infer it from /FraudReviewData. The code is one of ReviewHeld, ReviewApproved, ReviewDeclined, or ReviewExpired. |
| outcome
required |
TransactionDecisionNoteOutcome
TransactionDecisionNoteOutcome |
The decision's effect on the transaction.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Applied |
The thing was applied (e.g. a fee was assessed). | Suppressed |
The thing was deliberately not applied (e.g. a fee was waived/suppressed). | Adjusted |
The thing was applied at a modified value (e.g. a capped/percentage amount). | Blocked |
The transaction was blocked by the decision. | Info |
Purely informational; no effect on amounts or flow. |
| severity
required |
TransactionDecisionNoteSeverity
TransactionDecisionNoteSeverity |
Display severity (styling only).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Info |
Neutral/informational styling. | Warning |
Attention styling (e.g. an expected fee that did not apply). |
| createdAt
required |
string (date-time)
|
UTC timestamp the note was recorded.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| code
required |
string
|
The discriminated reason within the `category` (e.g. `"SuppressedChannel"`).
Owned by the consuming subsystem; resolved to copy with `category` at render time.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| amountDelta
required |
number (double)
|
Signed amount impact where meaningful (e.g. the waived/assessed fee). Currency is implied by
the transaction. Null when not applicable.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| occurredOnStage
required |
string
|
Optional pipeline stage the decision occurred on, for ordering/diagnostics.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
initiationType
required |
InitiationType
InitiationType |
Identifies whether this transaction was initiated by the cardholder (CIT) or the merchant (MIT).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
CardholderInitiated |
The cardholder is present or otherwise authorizing this specific charge contemporaneously. Default for transactions originated by the cardholder through HPP checkout, API with cardholder interaction, or virtual terminal sales with the cardholder present. | MerchantInitiated |
The merchant is initiating this charge without contemporaneous cardholder authorization, relying on prior consent captured on an earlier cardholder-initiated transaction. Used for recurring billing, unscheduled credential-on-file charges, resubmissions, and other merchant-triggered uses of a stored credential. |
|
mitReason
required |
MITReasonCode
MITReasonCode |
For merchant-initiated transactions, the reason code justifying the MIT. Null for CITs.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Recurring |
Fixed or variable charges on a scheduled basis for a subscription or ongoing service the cardholder has enrolled in. | Installment |
A series of charges dividing a known total amount over a defined schedule. | UnscheduledCOF |
Charges triggered by a specific, pre-agreed event (e.g. account balance threshold, usage overage). Not on a schedule. | Resubmission |
Recharging after a declined or reversed transaction, in accordance with card network resubmission rules. Must be for the same amount as the original declined attempt and within the network's permitted resubmission window. | Reauthorization |
Re-authorizing a prior authorization (e.g. when the original authorization has expired but the merchant still intends to capture). | DelayedCharge |
A charge finalized after the cardholder's original authorization (e.g. tip adjustment, additional services added after checkout, or final amounts determined after service completion). | NoShow |
No-show or cancellation fee where the cardholder made a reservation or booking and failed to cancel within the required window. | IncrementalAuth |
Additional authorization on top of a prior authorization (e.g. hotel incidentals, car rental overages). |
|
storedCredentialConsentId
required |
string (uuid)
|
Reference to the `StoredCredentialConsent` that authorizes this MIT. Null for CITs.
Optional, and best omitted: when it is absent the server resolves the consent from the stored
credential itself (resolved from the token plus `InvoiceData.CustomerId`) and selects the
most recently captured one that permits the declared MIT reason. Send a value only to pin a
specific consent when the credential carries several, for example after a re-enrollment, and
only when the value is a consent identifier this platform issued for that same credential
(from a capture response, a consent lookup, or a webhook). A supplied value is validated
strictly and is rejected if it belongs to a different credential, has been revoked, or does
not permit the declared reason. Note that a credential whose consent lineage predates this
platform's consent tracking has no consent record at all: an identifier minted by a prior
system is never valid here, so such a charge is rejected with
`stored_credential_consent_required` whether or not this field is sent. Remediate by
having the merchant attest the credential, which mints a new platform consent; the charge then
succeeds with the field omitted, and the newly issued identifier is accepted when sent.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
schemeTransactionId
required |
string
|
The card network's trace ID for this transaction chain. Captured from the processor response
on the initial CIT and referenced on subsequent MITs.
Read-only: set by the server; ignored on the AutoMapper write maps.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
cardholderPresence
required |
CardholderPresence
CardholderPresence |
How present the cardholder is at the point of sale, separate from the physical entry mode.
Drives network-level presence indicators (e.g. TSYS `POSEnvironmentIndicator`) at auth
time. `null` means "let the classifier infer from EntryMode + Source".
Conditional: When CardholderPresence is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Unknown |
Presence not specified by the request. Handlers fall back to entry-mode and industry-type inference, then to the legacy default for the merchant's profile. | CardPresent |
Cardholder physically present at the point of sale (retail/in-store flow). | MOTO |
Mail-order / telephone-order: cardholder not present and the merchant captured the account number through a non-electronic channel (fax, phone, paper form). | ECommerce |
E-commerce: cardholder not present and the transaction was originated through a website, mobile application, or other electronic channel. | Recurring |
Recurring / subscription: cardholder is not contemporaneously present; the merchant is charging a stored credential against a prior cardholder authorization. |
|
specialCondition
required |
SpecialCondition
SpecialCondition |
Visa/MC special-condition tag (quasi-cash, quasi-MOTO). `null` defaults to
`None`. Drives TSYS
`SpecialConditionIndicator` + `CardholderId` when set to
`QuasiCash`.
Conditional: When SpecialCondition is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
None |
No special condition applies: standard purchase semantics. | QuasiCash |
Quasi-cash purchase: a transaction that resembles cash equivalent (money orders, foreign currency, traveler's cheques, gaming chips, casino vouchers, etc.). Triggers TSYS SpecialConditionIndicator=8 and requires a populated CardholderId on the network request. | QuasiMoto |
Quasi-MOTO: a card-present capture that the merchant is required to process under MOTO routing rules (e.g. cert scenarios, specific Visa product types). Distinct from QuasiCash: the merchant remains in retail context but presence flags flip to MOTO for network routing. |
|
processorCertificationOverrides
required |
ProcessorCertificationOverrides
ProcessorCertificationOverrides |
Per-processor certification override knobs. Production traffic must leave this
`null`; `ICertificationOverridesGate` rejects requests where
it is set unless the merchant is flagged as a test merchant AND the active processor
profile has `AcceptCertificationOverrides` enabled.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of ProcessorCertificationOverrides:
| Field |
Type |
Description |
$processor
required |
string
|
Type discriminator naming the processor these certification overrides target. Required whenever processorCertificationOverrides is supplied. Accepted values: "fiserv", "paymentech", "tsys". Values are lower-case and case-sensitive.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
cumulativeRefundedAmount
required |
number (double)
|
Running total of refund amounts applied to this transaction.
Read-only: computed from refund operations.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
cumulativeReversedAmount
required |
number (double)
|
Running total of reversal amounts applied to this transaction.
Read-only: computed from reversal operations.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
authorizedAmount
required |
number (double)
|
The immutable amount the issuer authorised at the close of the Authorization stage.
Read-only: set once at `CloseAuthorization`. UI uses this rather than
`ResponseData.Amounts.Approved` for remaining-balance calculations because
reversal contributors overwrite `/ResponseData` with the processor's
reversal-response payload.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
saveCardRequested
required |
boolean
|
Operator (VT) or cardholder (HPP) opt-in to save the card for future merchant-initiated
use. Honored only from the Virtual Terminal and the Hosted Payment Page, which capture the
required cardholder consent; a transaction create API request that sets it to true is
rejected with a validation error. Auth-time-only: it cannot be set on updates or on
subsequent operations.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
isAccountVerification
required |
boolean
|
When `true`, this transaction is a zero-dollar account verification
rather than a charge: the gateway authorizes for $0 to confirm card validity (with
AVS/CVV) and immediately voids the authorization. Used by the Hosted Payment Page
"save card only: don't charge me" flow to vault a card without charging it. Mutually
exclusive with a non-zero amount. Auth-time-only: the AutoMapper Update and
recurring-billing maps both ignore it so it cannot be set on subsequent operations.
`null` (the default) is an ordinary chargeable transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
convenienceFeeDisclosureAcknowledgedAt
required |
string (date-time)
|
UTC timestamp of the moment the payer accepted the disclosed convenience fee (the
confirm-click, NOT the submit). This is the caller's attestation that the fee was disclosed
and agreed to, and it is <b>required</b> on any request charging a non-zero
`invoiceData.amounts.convenience` on a card tender, alongside
`convenienceFeeDisclosureChannel`. The Virtual Terminal stamps it from its
confirm modal (the CSR attesting as the cardholder's proxy) and the Hosted Payment Page from
the cardholder's own acceptance; a direct API integration owns its own disclosure UX and
supplies the same attestation. It may not sit more than a few minutes ahead of the gateway's
clock: a disclosure cannot have been accepted after the request that reports it.
Auth-time-only: the AutoMapper Update and recurring-billing maps both ignore it, so it cannot
be set on subsequent operations. `null` when no fee was charged. An ACH /
e-check debit is out of scope; a convenience fee on an EBT / eWIC tender is prohibited
outright and rejected before this field is examined.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
convenienceFeeDisclosureChannel
required |
string
|
The surface on which the convenience-fee disclosure was shown and accepted. One of
`"VirtualTerminal"`, `"HostedPaymentPage"`, or `"Api"` (a direct integration's
own checkout); matched case-insensitively, and any other value is rejected. Paired with
`convenienceFeeDisclosureAcknowledgedAt` and required on the same requests.
Auth-time-only.
nullablemax length 64
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
convenienceFeeEligibilitySnapshot
required |
string
|
Serialized convenience-fee eligibility decision (reason code + assessed amount) captured
at disclosure-acknowledgment time. Codes / amounts only: no request- or response-derived
free text (PCI). Gateway-produced and optional: the Virtual Terminal and Hosted Payment Page
serialize their own fee decision into it, and a direct API integration has no equivalent
internal decision to record, so it is never required. Auth-time-only.
nullablemax length 2048
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
convenienceFeeCancelledAmount
required |
number (double)
|
The convenience-fee amount, in the transaction currency, the Virtual Terminal operator declined
on the disclosure-confirm modal, removing it from this submission. Set by the VT cancel path (button, X, or Esc) so the
authorization pipeline can record a `CsrCancelledVtModal` convenience-fee decision note
carrying the amount that was waived: the fee is gone from the amounts by submit time, so the
evaluator has nothing left to explain without this marker.
Audit-only. It never adds to any total, never reaches the processor, and is honoured only when
the submitted transaction carries no convenience fee, originates from the Virtual Terminal, and
belongs to a merchant with an active convenience-fee configuration. Auth-time-only: the
AutoMapper Update and recurring-billing maps both ignore it. `null` (the
default) on every submission where no disclosed fee was cancelled.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
surchargeDisclosureAcknowledgedAt
required |
string (date-time)
|
UTC timestamp captured at the surcharge disclosure confirm-click moment (NOT at submit). Set
by the Virtual Terminal confirm modal / HPP acceptance when a surcharge is disclosed and
agreed. Auth-time-only: the AutoMapper Update and recurring-billing maps both ignore it so
it cannot be set on subsequent operations. `null` when no surcharge
disclosure was acknowledged.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
surchargeDisclosureChannel
required |
string
|
Channel on which the surcharge disclosure was acknowledged (`"VirtualTerminal"`,
`"HostedPaymentPage"`, or `"Api"`). Paired with
`surchargeDisclosureAcknowledgedAt`. Auth-time-only.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achWebAuthorizationText
required |
string
|
The NACHA WEB single-debit authorization language shown to the payer, captured verbatim at
ACH submit on the Hosted Payment Page. The consent evidence NACHA requires to substantiate an
internet-initiated (WEB) ACH debit. Auth-time-only: the AutoMapper Update and
recurring-billing maps both ignore it so it cannot be set on subsequent operations.
`null` for non-ACH tenders. PCI-safe: authorization language only.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achWebAuthorizationTextVersion
required |
string
|
Stable version hash (`sha256:{hex}`) of `achWebAuthorizationText`. Auth-time-only.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achWebAuthorizationConsumerIp
required |
string
|
Consumer IP recorded at ACH WEB authorization time (required NACHA evidence). On the anonymous
Hosted Payment Page create path the server derives this from the incoming request and ignores
a caller-supplied value. Auth-time-only. `null` for non-ACH tenders.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achWebAuthorizationAt
required |
string (date-time)
|
UTC timestamp of the ACH WEB authorization. Server-stamped on create; a client-supplied value
is never trusted. Auth-time-only. `null` for non-ACH tenders.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achWebAuthorizationSecCode
required |
string
|
SEC code the ACH WEB authorization was captured under (always `"WEB"` for HPP ACH).
Auth-time-only. `null` for non-ACH tenders.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achAuthorizationAttested
required |
boolean
|
Operator attestation signal for a Virtual Terminal CSR-keyed ACH debit: `true` when the
operator confirmed they obtained the account holder's authorization (TEL or PPD) for the debit.
This is a transient <b>input</b> only: the server consumes it to gate the submit (fail-closed
when a VT ACH debit is not attested) and to stamp the persisted `AchAuthorization*`
evidence fields; it is never persisted on its own. `null` / `false` for
non-VT-ACH tenders and for callers that do not attest.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achAuthorizationStatementText
required |
string
|
The CSR attestation statement captured for a Virtual Terminal CSR-keyed ACH debit (NACHA TEL /
PPD). Server-owned: rendered from the selected SEC code and stamped at create time, never
trusted from the client. Auth-time-only: the AutoMapper Update and recurring-billing maps both
ignore it so it cannot be set on subsequent operations. `null` for non-VT-ACH
tenders. PCI-safe: authorization language only.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achAuthorizationStatementVersion
required |
string
|
Stable version hash (`sha256:{hex}`) of `achAuthorizationStatementText`.
Server-recomputed from the statement text; a client-supplied value is never trusted.
Auth-time-only.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achAuthorizationSecCode
required |
string
|
SEC code the VT ACH authorization was captured under (`"TEL"` or `"PPD"`).
Server-owned from the operator's selection on `CheckData.SecCode`. Auth-time-only.
`null` for non-VT-ACH tenders.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achAuthorizationChannel
required |
string
|
Channel on which the VT ACH authorization was attested (`"VirtualTerminal"`). Server-owned.
Auth-time-only. `null` for non-VT-ACH tenders.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
achAuthorizationAt
required |
string (date-time)
|
UTC timestamp of the VT ACH authorization. Server-stamped on create; a client-supplied value is
never trusted. Auth-time-only. `null` for non-VT-ACH tenders.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
requestedSplitTenderTotal
required |
number (double)
|
The total of the whole order, when you know before submitting that the customer will pay
for it with more than one card. This transaction is charged for its own amount; once it is
approved, it stays open as the first payment of a split tender collecting toward this
total, and each further card is posted to
`POST /api/transactions/{id}/split-tender/continuations`.
Conditional: When RequestedSplitTenderTotal is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
deferPartialApprovalAcknowledgment
required |
boolean
|
Set to `true` to decide a partial approval yourself instead of having it accepted for
you. When the issuer approves less than the requested amount, the transaction then waits in
the `SplitTenderPending` stage, and `partialApprovalData.dispositionDeadlineUtc`
says when it will be voided automatically. Before then, decide it through
`POST /api/transactions/{id}/partial-approval/accept`, `/void`, or
`/split-tender`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
cvvAlias
required |
string
|
The CVV alias for the stored card in `tokenData.token`: the `cva_` value an
inbound vault route wrote in place of the CVV when it captured the card. The CVV it stands
for is sent to the processor with the card, so the request carries neither the card number
nor the CVV.
nullablemax length 64pattern ^cva_[A-Za-z0-9]+$
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|