The identity and technical contract details declared by the specification.
P2PEType0102IDTECH
object
2 properties
2 required
tokens_add_p2pe_idtech
object
4 properties
2 required
CustomerPostalCode
string
Cardholder’s ZIP/postal code from their billing statement. This field is used in AVS. Do not include special characters. Note: This field only allows alphanume…
DeviceCapability
object
Conditional: Required when using a non-UTG-controlled device.
8 properties
CardResponseFourWords
object
3 properties
P2PEType03OnguardSDEMSR
object
See [P2PE Format 03 Ingenico On-Guard SDE](/guides/core-concepts/p2pe-formatingenico-on-guard-sde---format-03) for more information.
2 properties
2 required
UISuppressFinalResult
boolean
When true, the terminal suppresses the final transaction result screen.
DevicePromptStreetNumber
string
When using a UTG-controlled PIN pad: Value|Description -----|----------- Y | Force the PIN pad to prompt the consumer for the street number of their billing ad…
ACHAccountHolderName
string
ACH account holder's name
Error
object
6 properties
CustomerAddressLine1
string
Cardholder’s street address exactly as it appears on their billing statement. This field is used in AVS.
TokenTypeACH
string
Specifies the type of token. Value = ACH
MerchantName
string
The merchant’s business name as configured with Shift4.
EMVEmptyCandidateList
string
When EMV is attempted but fallback occurs due to an empty candidate list, this field should be sent as 'Y' and emv.fallback should also be sent as 'Y'. If this…
EMVOnguardSDE
object
Conditional: Required when processing an EMV transaction without using a UTG.
2 properties
1 required
CardTokenSerialNumber
string
In requests that require the use of a shared card token that is held by another merchant account, such as in a TokenStore or TokenShare®, this field is used to…
CustomerLastName
string
Specifies a consumer’s last name. This field is used in AVS. If the interface sends this field, the value specified by the interface will be returned in the re…
ErrorSeverity
string
Severity level of the error. | Severity | Description | | -------- | ---------------------------------------------------------------- | | Info | Action not req…
P2PEType05TDESDUKPTMSR
object
See [P2PE Format 05 TDES DUKPT](/guides/core-concepts/p2pe-formattdes-dukpt---format-05) for more information.
3 properties
3 required
CustomerMiddleName
string
Specifies a consumer’s middle name.
tokens_add_comengcloud
object
5 properties
2 required
DeviceCapabilityManualEntry
string
Specifies whether or not the device supports manual entry. If this input method can be supported by the device, but the input method is currently disabled for…
ApiOptions
array
API Options modify the request being made. See the [API Options](/guides/appendices/api-options.md) section for more information.
CardToken
object
Conditional: Send this object when using a card on file.
1 property
P2PEDataOnguardSDEEMV
string
EMV TLV Data for tags 5A and 57 encrypted with AES 256 DUKPT. Contains the following information, separated by colons: Value | Description ----------------|---…
tokens_add_p2pe_tdesdukpt_msr
object
5 properties
3 required
DeviceCapabilityPIN
string
Specifies whether or not the device supports PIN entry (for debit or EMV). If this input method can be supported by the device, but the input method is current…
MerchantMID
number
The merchant ID associated with the merchant account.
CardSecurityCodeIndicator
string
This field indicates the presence of a CSC. Value|Description -----|----------- 0 | CSC not provided by user. 1 | CSC provided. 2 | CSC illegible. 9 | CSC not…
CustomerEmailAddress
string
Customer email address.
P2PEType07AESMCE
object
3 properties
3 required
LighthouseResponse
object
1 property
ServerName
string
The name of the server that processed the request.
CardFourWords
string
Four words that reference cardholder data (CHD). The four words can be entered into Shift4’ 4Word® web app separated by spaces to temporarily reveal CHD. In ad…
CardTypeResp
string
An abbreviation used to specify the type of card that was used when processing a transaction. Value| Description -----|------------ AX | American Express AP |…
tokens_add_p2pe_tdesdukpt_emv
object
6 properties
4 required
tokens_add_p2pe_onguardsde_msr
object
5 properties
3 required
CustomerFirstName
string
Specifies a consumer’s first name. This field is used in AVS. If the interface sends this field, the value specified by the interface will be returned in the r…
CardMaskedNumberGC
string
The card number field will always be masked when returned in a response.
DateTime
string
The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). Must be sent as the local date/time of the merchant. For ex…
tokens_add_unencryptedcard
object
4 properties
2 required
ErrorLongText
string
Extended error message that is returned if an error condition exists.
DevicePromptCardSecurityCode
string
When using a UTG-controlled PIN pad: Value|Description -----|----------- Y | Force the PIN pad to prompt the consumer for a CSC. N | Do not force the PIN pad t…
DeviceCapabilityMagstripe
string
Specifies whether or not the device supports magstripe. If this input method can be supported by the device, but the input method is currently disabled for all…
P2PEType05TDESDUKPTEMV
object
See [P2PE Format 05 TDES DUKPT](/guides/core-concepts/p2pe-formattdes-dukpt---format-05) for more information.
2 properties
2 required
TokenValueACH
string
The token representing the customer's bank account credentials.
DeviceCapabilityEMV
string
Specifies whether or not the device supports EMV. If this input method can be supported by the device, but the input method is currently disabled for all trans…
EMVTlvDataOnguardSDE
string
This field will contain all EMV tags in standard TLV format except tags 5A and 57, which will be sent encrypted in the p2pe.data field.
CardEntryMode
string
Conditional: The Card Entry Mode should be sent in an initial request; in subsequent requests, it should be left blank or not sent. When using a Universal Tran…
DevicePromptPostalCode
string
When using a UTG-controlled PIN pad: Value|Description -----|----------- Y | Force the PIN pad to prompt the consumer for a ZIP/Postal Code. N | Do not force t…
ErrorCode
integer
Code indicating the type of error that occurred. Refer to the [Error Codes](/guides/appendices/error-codes) section of this document for more details. Note: Th…
ErrorSecondaryCode
integer
This code supplements the code specified in the error.primaryCode field to provide additional information about the error that occurred.
P2PEKIDAES
string
The key identifier for the key that was used to encrypt the P2PE data. Note: The encryption key will be exchanged manually per customer.
CardSecurityCodeValue
string
The three- or four-digit Card Security Code found on a payment card. This value should only be sent in an initial sale/authorization request. It should not be…
P2PEFormatAES
string
Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 07 | AES-128 or AES-256
DeviceCommerceEngineCloud
object
3 properties
3 required
TokenACH
object
2 properties
1 required
P2PEDataAESMCE
string
Manual card entry information encrypted with AES 128. The decrypted information must be in the following format: pan= |exp= |cvv= |Value | Description |-------…
tokens_add_utgdevice
object
4 properties
2 required
P2PEFormatType05
string
Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 05 | [Shift4 TDES DUKPT format](/guides/core-concepts/p2pe-forma…
DeviceTerminalIdRequired
string
To prompt a specific UTG-controlled PIN pad in a request, the API Terminal ID configured in UTG TuneUp must be specified in this field.
UIMode
string
Set the UI to light mode by sending light or dark mode by sending dark
MerchantResponse
object
2 properties
P2PEType03OnguardSDEEMV
object
See [P2PE Format 03 Ingenico On-Guard SDE](/guides/core-concepts/p2pe-formatingenico-on-guard-sde---format-03) for more information.
2 properties
2 required
DeviceSerialNumber
string
Specifies the serial number of the device.
ACHAccountNumber
string
Bank Account Number. Do not include any dashes, spaces, or additional zeros.
ErrorPrimaryCode
integer
Code indicating the type of error that occurred. Refer to the [Error Codes](/guides/appendices/error-codes) section of this document for more details.
tokens_add_ach
object
2 properties
2 required
CardExpirationDate
integer
Conditional: Send only when card data is manually entered or when using a token. This field should not be specified when using an encrypted device. Card expira…
P2PEFormatIDTech
string
Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 01 | IDTech Enhanced Encryption format (Keyboard Mode) 02 | IDTe…
DeviceModel
string
Conditional: Required when using a non-UTG-controlled device. Specifies the model of the device.
EMV
object
Conditional: Required when processing an EMV transaction without using a UTG.
2 properties
1 required
tokens_add_p2pe_aes_mce
object
5 properties
3 required
tokens_add_response_card
object
1 property
DeviceCapabilityQuickChip
string
Specifies whether or not the device supports quick chip. If this input method can be supported by the device, but the input method is currently disabled for al…
Customer
object
7 properties
DeviceCapabilitySignature
string
Specifies whether or not the device supports signature capture. If this input method can be supported by the device, but the input method is currently disabled…
DeviceOnlyTIDResponse
object
1 property
P2PEKSN
string
The key serial number which was used to encrypt the P2PE data.
tokens_add_response_ach
object
1 property
DeviceManufacturer
string
Specifies the company which manufactured the device.
CardNumber
string
The payment card number entered in an initial authorization/sale request. This field will always be masked when returned in a response.
CardTokenResponse
object
1 property
ACHAccountType
string
Bank account type Value | Description ------|--------------- PC | Personal Checking PS | Personal Savings CC | Corporate Checking CS | Corporate Savings
tokens_add_comengdevice
object
5 properties
1 required
CardExpirationDateResponse
integer
Conditional: Requires API Option "RETURNEXPDATE". Card expiration date in MMYY format. This value will only be populated if "RETURNEXPDATE" is included in the…
P2PEFormatOnguardSDE
string
Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 03 | Ingenico Onguard SDE Format
CustomerIpAddress
string
Public source IP Address where the request originates, not the IP Address of the web server.
DeviceCapabilityContactlessMSR
string
Specifies whether or not the device supports contactless magstripe. If this input method can be supported by the device, but the input method is currently disa…
P2PEData
string
The full output of a P2PE keypad/magnetic swipe reader (MSR).
ACHAccountVerified
boolean
Send as true if the ACH account was verified through a 3rd party.
P2PEDataOnguardSDEMSR
string
Track information encrypted with AES 256 DUKPT. Contains the following information, separated by colons: |Value | Description |----------------|------------ |k…
UILanguageRequest
string
ISO 639-1 2-letter language code specifying the UI display language for the transaction (e.g. "en", "fr", "de"). When provided, overrides the device's configur…
UniversalToken
object
1 property
tokens_add_p2pe_onguardsde_emv
object
6 properties
4 required
DeviceTerminalId
string
To prompt a specific UTG-controlled PIN pad in a request, the API Terminal ID configured in UTG TuneUp must be specified in this field.
CardMaskedNumber
string
The card number field will always be masked when returned in a response.
CardEntryModeManual
string
The method used to capture a payment card. Value|Description -----|----------- M | Manual Entry
ErrorShortText
string
Abbreviated error message that is always returned if an error condition exists
LighthouseDataResponse
string
Base64 encoded JSON formatted data that will be returned from Lighthouse to be passed back to SkyTab. This data will contain variable information.
UniversalTokenValue
string
An identifier for a card or payment account across all Shift4 merchants.
CardTokenValue
string
This field is used to specify a card token. Whenever CHD is sent in a request, a card token will be returned in this field. Your interface should be designed t…
ACHVerificationType
string
The type of verification used to validate the account. Value | Description ------|--------------- P | Prenotification M | Micro Deposits B | Bank Login
DeviceCapabilityContactlessEMV
string
Specifies whether or not the device supports contactless EMV. If this input method can be supported by the device, but the input method is currently disabled f…
EMVTlvData
string
This field will contain all EMV tags in standard TLV format including the P2PE encrypted tags (5A and 57). The P2PE encrypted tags (5A and 57) will have the en…
DeviceCloud
boolean
Indicates the transaction will be processed via the Commerce Engine solution for cloud based POS/PMS systems. Value must be sent as true in order to route the…
ACHRoutingNumber
string
The routing number identifying the bank.
The full machine-readable OpenAPI contract behind this narrative.
Other APIs Shift4 publishes across the network.