Shift4 DCC API is one of 21 APIs that Shift4 publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include DCC. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.
This API exposes
1 operation
across 1 path,
and defines 67 schemas.
It is described by OpenAPI 3.2.0, at version 1.7.57.
Requests are made against 2 base URLs: https://api.shift4test.com/api/rest/v1, https://api.shift4api.net/api/rest/v1.
The identity and technical contract details declared by the specification.
P2PEType0102IDTECH
object
2 properties
2 required
DCCRateTimeStamp
string
The date and time of the DDC rate lookup in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm).
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
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…
CardSecurityCode
object
Conditional: Send only when card data is manually entered. This object should not be specified when using an encrypted device. This object should be sent for i…
4 properties
2 required
DCCForeignAmount
number
Foreign Currency Amount
CardSecurityCodeResponse
object
Conditional: Returned if card.securityCode was sent in the request.
2 properties
dcc_ratelookup_p2pe_tdesdukpt_msr
object
6 properties
6 required
P2PEKSN
string
The key serial number which was used to encrypt the P2PE data.
DCCCurrencyCode
string
Cardholder's transaction currency code. See the [Currency Codes](/guides/appendices/currency-codes) section for details.
Error
object
6 properties
DCCMarginOverECB
string
Markup of offered exchange rate over ECB Reference Rate in percentage (%), if applicable. This field is applicable only for conversion between currencies of EU…
DCCDisplayUnit
number
Display unit for currency. It is the exponent of the base currency in an exchange rate pair e.g. for a JPY merchant converting to EUR, where dcc.displayUnit =…
CardNumber
string
The payment card number entered in an initial authorization/sale request. This field will always be masked when returned in a response.
P2PEFormatType05
string
Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 05 | [Shift4 TDES DUKPT format](/guides/core-concepts/p2pe-forma…
CardTokenResponse
object
1 property
EMVEncryptedTagsOnly
object
Encrypted EMV tags
1 property
1 required
LighthouseResponse
object
1 property
dcc_ratelookup_p2pe_onguardsde_emv
object
5 properties
5 required
ServerName
string
The name of the server that processed the request.
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
dcc_ratelookup_token_legacy
object
5 properties
5 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…
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
DCCSupportIndicator
string
Specifies whether or not DCC can be used. Value | Description ------|-------------------------------------------------------------------------------------- 0 |…
P2PEData
string
The full output of a P2PE keypad/magnetic swipe reader (MSR).
DCCTransactionID
string
A unique identifier returned in the ratelookup response to link with the initial authorization, Sale transaction types.
dcc_ratelookup_token_gtv
object
5 properties
5 required
ErrorSeverity
string
Severity level of the error. | Severity | Description | | -------- | ---------------------------------------------------------------- | | Info | Action not req…
P2PEDataOnguardSDEMSR
string
Track information encrypted with AES 256 DUKPT. Contains the following information, separated by colons: |Value | Description |----------------|------------ |k…
dcc_ratelookup_p2pe_tdesdukpt_emv
object
7 properties
7 required
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…
P2PEType05TDESDUKPTMSR
object
See [P2PE Format 05 TDES DUKPT](/guides/core-concepts/p2pe-formattdes-dukpt---format-05) for more information.
3 properties
3 required
ErrorLongText
string
Extended error message that is returned if an error condition exists.
CardMaskedNumber
string
The card number field will always be masked when returned in a response.
CardTokenRequired
object
1 property
1 required
P2PEType05TDESDUKPTEMV
object
See [P2PE Format 05 TDES DUKPT](/guides/core-concepts/p2pe-formattdes-dukpt---format-05) for more information.
2 properties
2 required
ErrorShortText
string
Abbreviated error message that is always returned if an error condition exists
DCCProvider
string
DCC Provider
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.
AmountTotal
number
The amount being charged for a particular transaction. If other amount fields are sent, they must be included in the total amount. Amount cannot be zero.
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.
ClerkNumericId
integer
A number used to identify the point-of-sale (POS) or property management system (PMS) clerk or user. The value cannot be 0. An interface must be able to dynami…
DCCResponse
object
Object containing Dynamic Currency Conversion (DCC) information.
12 properties
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…
dcc_ratelookup_p2pe_onguardsde_msr
object
5 properties
5 required
P2PEFormatIDTech
string
Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 01 | IDTech Enhanced Encryption format (Keyboard Mode) 02 | IDTe…
DCCMarginPercentage
string
This value is the foreign exchange markup percentage including the decimal. For example 9.99% will be returned as 9.99
dcc_ratelookup_p2pe_idtech
object
5 properties
5 required
CardSecurityCodeResult
string
Conditional: Returned if card.securityCode.indicator and card.securityCode.value are sent in the request. The result of a CSC check. This field will be used by…
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…
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…
dcc_ratelookup_unencryptedcard
object
5 properties
5 required
Clerk
object
1 property
1 required
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…
DCCConversionRate
string
Foreign Currency Exchange Rate. The rate at which one currency can be exchanged for another currency.
CardSecurityCodeValid
string
Conditional: Returned if card.securityCode.indicator and card.securityCode.value are sent in the request. A simplified CSC check result based on the value in t…
CardTokenRequiredLegacy
object
2 properties
1 required
AmountTotalOnly
object
Object containing information regarding the amount being requested. The total field within the object is required and specifies the amount being requested. Not…
1 property
1 required
P2PEDataOnguardSDEEMV
string
EMV TLV Data for tags 5A and 57 encrypted with AES 256 DUKPT. Contains the following information, separated by colons: Value | Description ----------------|---…
ErrorSecondaryCode
integer
This code supplements the code specified in the error.primaryCode field to provide additional information about the error that occurred.
DCCDiffOverECB
string
Difference of GB Reference Rate over ECB Reference Rate in percentage (%), if applicable including decimal. This field is applicable only for conversion betwee…
DCCCurrencyMinorUnits
number
Foreign Currency Minor Unit. Indicates the number of digits after the decimal separator as specified by either MasterCard, VISA, or the ISO 4217 standard.
CurrencyCode
string
Transaction currency code. See the [Currency Codes](/guides/appendices/currency-codes) section for details. Note: This is currently supported when processing f…
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…
The full machine-readable OpenAPI contract behind this narrative.
Other APIs Shift4 publishes across the network.