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.
|