Shift4® Payments Integration...Shift4 Payments Integration: Reference Guide for values that can be...
Transcript of Shift4® Payments Integration...Shift4 Payments Integration: Reference Guide for values that can be...
The Complete Functions Guide
Shift4® Payments Integration
Copyright © 2018 Shift4 Payments, LLC. All rights reserved.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 2 of 63
Copyright Notice Shift4 Payments 1491 Center Crossing Road Las Vegas, NV 89144 702.597.2480 www.shift4.com [email protected]
Document Title: The Complete Functions Guide
Publication Date: May 17, 2018
Copyright © 2018 Shift4 Payments, LLC. All rights reserved worldwide. *Universal Transaction Gateway® (UTG®), DOLLARS ON THE NET®, 4Go®, i4Go®, and 4Word® are covered by one or more of the following U.S. Pat. Nos.: 7770789; 7841523; 7891563; 8328095; 8688589; 8690056; 9082120; 9256874; 9495680. All trademarks, service marks, product names, and logos are the property of their respective owners. Shift4 Payments may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give any license to these patents, trademarks, copyrights, or other intellectual property except as expressly provided in any written license agreement from Shift4 Payments. All graphics are property of Shift4 Payments. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without prior written permission of Shift4 Payments. The contents of this publication are the property of Shift4 Payments. Shift4 Payments reserves the right to revise this document and to periodically make changes to the content thereof without any obligation or notification to any organization of such revisions or changes unless required to do so by prior written agreement. Notice of Confidentiality By using this document, the recipient is hereby informed that this document may contain information that is proprietary to and/or a trade secret of Shift4 Payments. It carries the Shift4 classification “External Use NDA.” As such it may be used by anyone with the stipulation that it is provided for the sole purpose of specifying instructions for the Shift4 Payments products contemplated herein. The recipient agrees to maintain this information in confidence, not reproduce or otherwise disclose this information, and only use this document for none other than its intended purpose. Notice to Governmental End Users
If any Shift4 product is acquired under the terms of a Department of Defense contract: use, duplication, or disclosure by the US Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of 252.227.7013. Civilian agency contract: use, reproduction, or disclosure is subject to 52.227-19 (a) through (d) and restrictions set forth in the accompanying end user agreement. Unpublished rights reserved under the copyright laws of the United States.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 3 of 63
Shift4 Payments Integration: The Complete Functions Guide The Complete Functions Guide describes which fields should be sent in requests to support transaction processing via Shift4 Payments’ DOLLARS ON THE NET® payment gateway. This guide contains a list of functions that are used for both HTTP/HTTPS and TCP/IP request formats.
The Transaction Functions section contains a complete list of Shift4 Payments’ function request codes (FRCs), as well as tables containing the fields that should be sent when making these requests. The table for each FRC contains an “Always Required for This Request” list which describes the fields that must be present for a specific request. The FRC tables also contain contextual fields which may be sent depending on the business practice. For more information about the fields that should be sent, please refer to your approved Integration Plan and consult with your assigned API Analyst.
Appendix A contains the data blocks used in TCP/IP communications. That section describes how the fields, listed in the Transaction Functions section, are used to send TCP/IP requests. The communication protocol used is the vehicle by which a request is communicated. HTTP/HTTPS requests use key value pairs to specify the parameters being sent, whereas TCP/IP requests express those parameters by means of data blocks. In TCP/IP communications, multiple fields are contained within a data block. Each field is identified by the number of bytes it contains and the position of the field in the block. Appendix A describes how the data block information is organized for various TCP/IP requests.
Reading FRC Tables When reading the request fields that should be sent, please consider the following:
• The number of bytes (or maximum number of bytes) that can be sent for a parameter is designated by brackets. For example, “[3]” indicates that the value must be exactly 3 bytes. A value of “[max 10]” indicates that the value can be up to 10 bytes.
• For your convenience, when a value is a date or time, the format of the date or time is provided instead of the number of bytes. For example, “[MMDDYY]”.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 4 of 63
Transaction Functions
Note: If you are sending a TCP/IP request, please refer to Appendix A – TCP/IP Data Blocks for applicable information.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 5 of 63
FRC 1B – Online Authorization This function is used to request processor approval for an authorization only. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 Payments will request approval for the additional amount only. If approved, the authorization will remain in DOLLARS ON THE NET until it’s converted to a sale.
Request Fields – FRC 1B Always Required for This Request Card Entry (Send One of the Five - XOR) DestinationZipCode=[max 9] CVV2Prompt=‘Y’ or ‘N’ AccessToken=[max 51] 1) Unencrypted Card Data Purchasing Card Data PostalCodePrompt=‘Y’ or ‘N’ APIFormat=‘0’ • CardNumber=[max 32] ProductDescriptorN=[max 40]† StreetNumberPrompt=‘Y’ or ‘N’ APIOptions=[max 255] • ExpirationDate=[MMYY] AVS Signature Capture APISignature=‘$’ • CVV2Indicator=[1] CustomerName=[max 35] SignatureBlockNumber=‘1’ Clerk=[max 5; numeric only] • CVV2Code=[max 4] StreetAddress=[max 30] SignatureBlock=[max 16,384] Date=[MMDDYY] 2) Unencrypted MSR ZipCode=[max 9] SignatureDeviceType=[2] FunctionRequestCode=“1B” TrackInformation=[max 128] Tip Entry SignatureTotalBlocks=‘1’ Invoice=[max 10; numeric only] 3) UTG-Controlled PIN Pad SecondaryAmount=[max 14] HSA/FSA (IIAS) PrimaryAmount=[max 14] TerminalID=[max 32] Hotel IIASAmountN=[max 14]† ReceiptTextColumns=[max 3] 4) Card-on-File/TrueToken® HotelEstimatedDays=[max 2] IIASTypeN=[2]† RequestorReference=[max 12] UniqueID=[max 16] MetaToken ™ Non-UTG PIN Debit§ SaleFlag=‘S’ 5) P2PE MetaTokenType=“IL” or “F6” PINBlock=[max 16] Time=[HHMMSS] • P2PEBlock=[max 2,048] Miscellaneous PINPadBlockFormat=“71” Vendor=[max 64]* • P2PEDeviceType=[2] CardType=[2]‡ PINPadKey=[20]ǁ HTTP/HTTPS Only • P2PEBlockLength=[4]# Notes=[max 4,096] PINPadType=[2] CONTENTTYPE=“XML” or “TEXT” Level II Card Data OverrideBusDate=[MMDDYY] Auto Rental VERBOSE=“YES” CustomerReference=[max 25] Global TokenStore®/Token
AutoEstimatedDays=[max 2]
Only Send on Initial Auth/Sale Request TaxIndicator=‘Y’ or ‘N’ TokenSerialNumber=[max 10] CardPresent=‘Y’ or ‘N’ TaxAmount=[max 14] AVS/CVV2 Prompt
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 6 of 63
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
†N can be 1-4. For more information, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
‡See the Shift4 Payments Integration: Reference Guide for values that can be sent in the CardType field.
§The Non-UTG PIN Debit fields should only be sent if using a POS-controlled PIN pad (not controlled by the UTG).
ǁThe PINPadKey field is a hexadecimal field that should be padded with leading ‘F’s.
#TCP/IP requests only.
Requirement: To allow Shift4 Payments to return all of the fields that are available in a particular response, the API Option ALLDATA must be included in every request. Your application must be designed to ignore any fields in responses that are not applicable to a given request.
Important: Out of the following fields, only one of the following fields can be sent in a given request: P2PEBlock, CardNumber, TrackInformation, or UniqueID.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 7 of 63
FRC 1D – Online Sale This function is used to request processor approval for an authorization and a sale. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 Payments will request approval for the additional amount only. If approved, a new sale transaction will be displayed in DOLLARS ON THE NET and be ready to be batched.
Request Fields – FRC 1D Always Required for This Request TaxAmount=[max 14] ZipCode=[max 9] SignatureBlock=[max 16,384] AccessToken=[max 51] DestinationZipCode=[max 9] Tip Entry SignatureDeviceType=[2] APIFormat=‘0’ Card Entry (Send One of the Five - XOR) SecondaryAmount=[14] SignatureTotalBlocks=‘1’ APIOptions=[max 255] 1) Unencrypted Card Data Hotel HSA/FSA (IIAS) APISignature=‘$’ • CardNumber=[max 32] ArrivalDate=[MMDDYY] IIASAmountN=[max 14]† Clerk=[max 5; numeric only] • ExpirationDate=[MMYY] DepartureDate=[MMDDYY] IIASTypeN=[2]† Date=[MMDDYY] • CVV2Indicator=[1] HotelAdditionalCharges=[max 6] Non-UTG PIN Debit§ FunctionRequestCode=“1D” • CVV2Code=[max 4] PrimaryChargeType=[1] PINBlock=[max 16] Invoice=[max 10; numeric only] 2) Unencrypted MSR SpecialCode=[1] PINPadBlockFormat=“71” PrimaryAmount=[max 14] TrackInformation=[max 128] MetaToken PINPadKey=[20]ǁ ReceiptTextColumns=[max 3] 3) UTG-Controlled PIN Pad MetaTokenType=“IL” or “F6” PINPadType=[2] RequestorReference=[max 12] TerminalID=[max 32] Miscellaneous Auto Rental SaleFlag=‘S’ or ‘C’ 4) Card-on-File/TrueToken CardType=[2]‡ AutoAdditionalCharges=[6] Time=[HHMMSS] UniqueID=[max 16] Notes=[max 4,096] DriverName=[max 35] Vendor=[max 64]* 5) P2PE Fields OverrideBusDate=[MMDDYY] LateAdjustment=[max 14] HTTP/HTTPS Only • P2PEBlock=[max 2,048] Global TokenStore/Token
NoShowIndicator=‘Y’ or ‘N’
CONTENTTYPE=“XML” or “TEXT” • P2PEDeviceType=[2] TokenSerialNumber=[max 10] RentalAgreement=[max 9] VERBOSE=“YES” • P2PEBlockLength=[4]# AVS/CVV2 Prompt RentalCity=[18] Only Send on Initial Auth/Sale Request Purchasing Card Data CVV2Prompt=‘Y’ or ‘N’ RentalDate=[MMDDYY] CardPresent=‘Y’ or ‘N’ ProductDescriptorN=[max 40]† PostalCodePrompt=‘Y’ or ‘N’ RentalState=[2] Level II Card Data AVS StreetNumberPrompt=‘Y’ or ‘N’ RentalTime=[HHMMSS] CustomerReference=[max 25] CustomerName=[max 35] Signature Capture RentalZipCode=[max 9]
TaxIndicator=‘Y’ or ‘N’ StreetAddress=[max 30] SignatureBlockNumber=‘1’
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 8 of 63
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
†N can be 1-4. For more information, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
‡See the Shift4 Payments Integration: Reference Guide for values that can be sent in the CardType field.
§The Non-UTG PIN Debit fields should only be sent if using a POS-controlled PIN pad (not controlled by the UTG).
ǁThe PINPadKey field is a hexadecimal field that should be padded with leading ‘F’s.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 9 of 63
FRC 05 – Offline Authorization This function is used to request authorization in an offline scenario, which means that Shift4 Payments will not seek processor approval. An authorization code should be included in this request if the amount being submitted in the request is greater than the authorization amount currently on file.
Request Fields – FRC 05 Always Required for This Request Card Entry (Send One of the Five - XOR) DestinationZipCode=[max 9] CVV2Prompt=‘Y’ or ‘N’ AccessToken=[max 51] 1) Unencrypted Card Data Purchasing Card Data PostalCodePrompt=‘Y’ or ‘N’ APIFormat=‘0’ • CardNumber=[max 32] ProductDescriptorN=[max 40]† StreetNumberPrompt=‘Y’ or ‘N’ APIOptions=[max 255] • ExpirationDate=[MMYY] AVS Signature Capture APISignature=‘$’ • CVV2Indicator=[1] CustomerName=[max 35] SignatureBlockNumber=‘1’ Clerk=[max 5; numeric only] • CVV2Code=[max 4] StreetAddress=[max 30] SignatureBlock=[max 16,384] Date=[MMDDYY] 2) Unencrypted MSR ZipCode=[max 9] SignatureDeviceType=[2] FunctionRequestCode=“05” TrackInformation=[max 128] Tip Entry SignatureTotalBlocks=‘1’ Invoice=[max 10; numeric only] 3) UTG-Controlled PIN Pad SecondaryAmount=[14] HSA/FSA (IIAS) PrimaryAmount=[max 14] TerminalID=[max 32] Hotel IIASAmountN=[max 14]† ReceiptTextColumns=[max 3] 4) Card-on-File/TrueToken HotelEstimatedDays=[max 2] IIASTypeN=[2]† RequestorReference=[max 12] UniqueID=[max 16] MetaToken Non-UTG PIN Debit§ SaleFlag=‘S’ 5) P2PE MetaTokenType=“IL” or “F6” PINBlock=[max 16] Time=[HHMMSS] • P2PEBlock=[max 2,048] Miscellaneous PINPadBlockFormat=“71” Vendor=[max 64]* • P2PEDeviceType=[2] CardType=[2]‡ PINPadKey=[20]ǁ HTTP/HTTPS Only • P2PEBlockLength=[4]# Notes=[max 4,096] PINPadType=[2] CONTENTTYPE=“XML” or “TEXT” Level II Card Data OverrideBusDate=[MMDDYY] Auto Rental VERBOSE=“YES” CustomerReference=[max 25] Global TokenStore/Token Sharing AutoEstimatedDays=[max 2] Authorization Code TaxIndicator=‘Y’ or ‘N’ TokenSerialNumber=[max 10] Authorization=[6] TaxAmount=[max 14] AVS/CVV2 Prompt
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 10 of 63
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
†N can be 1-4. For more information, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
‡See the Shift4 Payments Integration: Reference Guide for values that can be sent in the CardType field.
§The Non-UTG PIN Debit fields should only be sent if using a POS-controlled PIN pad (not controlled by the UTG).
ǁThe PINPadKey field is a hexadecimal field that should be padded with leading ‘F’s.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 11 of 63
FRC 06 – Offline Sale This function is used to request authorization and a sale in an offline scenario, which means that Shift4 Payments will not seek processor approval. An authorization code should be included in this request if the amount being submitted in the request is greater than the authorization amount currently on file.
Request Fields – FRC 06 Always Required for This Request TaxAmount=[max 14] ZipCode=[max 9] SignatureBlock=[max 16,384] AccessToken=[max 51] DestinationZipCode=[max 9] Tip Entry SignatureDeviceType=[2] APIFormat=‘0’ Card Entry (Send One of the Five - XOR) SecondaryAmount=[14] SignatureTotalBlocks=‘1’ APIOptions=[max 255] 1) Unencrypted Card Data Hotel HSA/FSA (IIAS) APISignature=‘$’ • CardNumber=[max 32] ArrivalDate=[MMDDYY] IIASAmountN=[max 14]† Clerk=[max 5; numeric only] • ExpirationDate=[MMYY] DepartureDate=[MMDDYY] IIASTypeN=[2]† Date=[MMDDYY] • CVV2Indicator=[1] HotelAdditionalCharges=[max 6] Non-UTG PIN Debit§ FunctionRequestCode=“06” • CVV2Code=[max 4] PrimaryChargeType=[1] PINBlock=[max 16] Invoice=[max 10; numeric only] 2) Unencrypted MSR SpecialCode=[1] PINPadBlockFormat=“71” PrimaryAmount=[max 14] TrackInformation=[max 128] MetaToken PINPadKey=[20]ǁ ReceiptTextColumns=[max 3] 3) UTG-Controlled PIN Pad MetaTokenType=“IL” or “F6” PINPadType=[2] RequestorReference=[max 12] TerminalID=[max 32] Miscellaneous Auto Rental SaleFlag=‘S’ or ‘C’ 4) Card-on-File/TrueToken CardType=[2]‡ AutoAdditionalCharges=[6] Time=[HHMMSS] UniqueID=[max 16] Notes=[max 4,096] DriverName=[max 35] Vendor=[max 64]* 5) P2PE Fields OverrideBusDate=[MMDDYY] LateAdjustment=[max 14] HTTP/HTTPS Only • P2PEBlock=[max 2,048] Global TokenStore/Token Sharing NoShowIndicator=‘Y’ or ‘N’ CONTENTTYPE=“XML” or “TEXT” • P2PEDeviceType=[2] TokenSerialNumber=[max 10] RentalAgreement=[max 9] VERBOSE=“YES” • P2PEBlockLength=[4]# AVS/CVV2 Prompt RentalCity=[18] Authorization Purchasing Card Data CVV2Prompt=‘Y’ or ‘N’ RentalDate=[MMDDYY] Authorization=[6] ProductDescriptorN=[max 40]† PostalCodePrompt=‘Y’ or ‘N’ RentalState=[2] Level II Card Data AVS StreetNumberPrompt=‘Y’ or ‘N’ RentalTime=[HHMMSS] CustomerReference=[max 25] CustomerName=[max 35] Signature Capture RentalZipCode=[max 9]
TaxIndicator=‘Y’ or ‘N’ StreetAddress=[max 30] SignatureBlockNumber=‘1’
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 12 of 63
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
†N can be 1-4. For more information, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
‡See the Shift4 Payments Integration: Reference Guide for values that can be sent in the CardType field.
§The Non-UTG PIN Debit fields should only be sent if using a POS-controlled PIN pad (not controlled by the UTG).
ǁThe PINPadKey field is a hexadecimal field that should be padded with leading ‘F’s.
#TCP/IP requests only.
FRC 08 – Void This function is used to request that an existing invoice be cancelled.
Request Fields – FRC 08 Always Required for This Request Invoice=[max 10; numeric only] VERBOSE=“YES” • P2PEBlock=[max 2,048] AccessToken=[max 51] ReceiptTextColumns=[max 3] Card Entry (Send One of the Three - XOR) • P2PEDeviceType=[2]
APIFormat=‘0’ RequestorReference=[max 12] 1) Unencrypted Card Data • P2PEBlockLength=[4]# APIOptions=[max 255] Time=[HHMMSS] • CardNumber=[max 32] Rollback APISignature=‘$’ Vendor=[max 64]* 2) Card-on-File/TrueToken TranID=[10] Date=[MMDDYY] HTTP/HTTPS Only • UniqueID=[max 16] FunctionRequestCode=“08” CONTENTTYPE=“XML” or “TEXT” 3) P2PE Fields
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 13 of 63
FRC 07 – Get Invoice Information This function is used to request the status (e.g., approved, declined, error, referral, etc.) for a specific invoice; it is primarily used after a timeout or error has occurred. Voided or batched and settled invoices will return an “Invoice Not Found” error. For more information, see the Timeouts and Communication Failures section of the Shift4 Payments Integration: API Integration Guide available in MyPortal API Corner.
Request Fields – FRC 07 Always Required for This Request ReceiptTextColumns=[max 3] 1) Unencrypted Card Data MetaToken AccessToken=[max 51] RequestorReference=[max 12] • CardNumber=[max 32] MetaTokenType=“IL” or “F6” APIFormat=‘0’ Time=[HHMMSS] 2) Card-on-File/TrueToken Global TokenStore/Token Sharing APIOptions=[max 255] Vendor=[max 64]* • UniqueID=[max 16] TokenSerialNumber=[max 10] APISignature=‘$’ HTTP/HTTPS Only 3) P2PE Fields Date=[MMDDYY] CONTENTTYPE=“XML” or “TEXT” • P2PEBlock=[max 2,048] FunctionRequestCode=“07” VERBOSE=“YES” • P2PEDeviceType=[2] Invoice=[max 10; numeric only] Card Entry (Send One of the Three - XOR) • P2PEBlockLength=[4]#
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
FRC 0B – Get DBA Information This function is used to request doing business as (DBA) information for a specific merchant ID.
Request Fields – FRC 0B Always Required for This Request APISignature=‘$’ Time=[HHMMSS] VERBOSE=“YES” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* APIFormat=‘0’ FunctionRequestCode=“0B” HTTP/HTTPS Only APIOptions=[max 255] RequestorReference=[max 12] CONTENTTYPE=“XML” or “TEXT”
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 14 of 63
FRC 20 – Upload Signature This function is used to upload the captured signature to an existing invoice in DOLLARS ON THE NET.
Request Fields – FRC 20 Always Required for This Request FunctionRequestCode=“20” CONTENTTYPE=“XML” or “TEXT” SignatureDeviceType=[2] AccessToken=[max 51] Invoice=[max 10; numeric only] VERBOSE=“YES” SignatureBlockNumber=‘1’ APIFormat=‘0’ RequestorReference=[max 12] Photo Signature SignatureTotalBlocks=‘1’ APIOptions=ALLDATA Time=[HHMMSS] PhotoType=[1] SignatureBlock=[max 16,384] APISignature=‘$’ Vendor=[max 64]* PhotoDate=[max 4,194,304] Date=[MMDDYY] HTTP/HTTPS Only Raw Signature – 8 Byte Format
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC 22 – Get Voice Center Information This function is used to request the voice center phone number and merchant account number that should be displayed to the clerk so they can obtain a voice authorization code for a transaction. (The merchant must provide this information to Shift4 Payments.) The function should be sent after receiving a Referral response to an Online Authorization (FRC 1B) or Online Sale (FRC 1D) request.
Request Fields – FRC 22 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] UniqueID=[max 16] VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“22” Vendor=[max 64]* GlobalTokenStore/TokenSharing APIOptions=ALLDATA RequestorReference=[max 12] HTTP/HTTPS Only TokenSerialNumber=[max 10]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 15 of 63
FRC 23 – Identify Card Type This function is used to request and return the card type.
Request Fields – FRC 23 Always Required for This Request RequestorReference=[max 12] 1) Unencrypted Card Data 3) UTG-Controlled PIN Pad AccessToken=[max 51] Time=[HHMMSS] • CardNumber=[max 32] TerminalID=[max 32] APIFormat=‘0’ Vendor=[max 64]* • ExpirationDate=[MMYY] 4) P2PE Fields APIOptions=ALLDATA HTTP/HTTPS Only • CVV2Indicator=[1] • P2PEBlock=[max 2,048] APISignature=‘$’ CONTENTTYPE=“XML” or “TEXT” • CVV2Code=[max 4] • P2PEDeviceType=[2] Date=[MMDDYY] VERBOSE=“YES” 2) Unencrypted MSR • P2PEBlockLength=[4]# FunctionRequestCode=“23” Card Entry (Send One of the Four - XOR) TrackInformation=[max 128]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 16 of 63
FRC 2F – Verify Card with Processor This function is used to request card validation by going online to verify the card information with the processor. If Address Verification System (AVS) and/or Card Security Code (CSC) data are sent in the request, that information will also be validated without consuming short-term data.
Request Fields – FRC 2F Always Required for This Request Vendor=[max 64]* • CVV2Code=[max 4] • P2PEDeviceType=[2] AccessToken=[max 51] HTTP/HTTPS Only 2) Unencrypted MSR • P2PEBlockLength=[4]# APIFormat=‘0’ CONTENTTYPE=“XML” or “TEXT” TrackInformation=[max 128] AVS APIOptions=ALLDATA VERBOSE=“YES” 3) UTG-Controlled PIN Pad StreetAddress=[max 30] APISignature=‘$’ Card Entry (Send One of the Five - XOR) TerminalID=[max 32] ZipCode=[max 9] Date=[MMDDYY] 1) Unencrypted Card Data 4) Card-on-File/TrueToken FunctionRequestCode=“2F” • CardNumber=[max 32] UniqueID=[max 16] RequestorReference=[max 12] • ExpirationDate=[MMYY] 5) P2PE Fields Time=[HHMMSS] • CVV2Indicator=[1] • P2PEBlock=[max 2,048]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
FRC 47 – Prompt for Signature This function is used to request a prompt for signature on a UTG-controlled PIN pad and returns the signature.
Request Fields – FRC 47 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“47” TerminalID=[max 32] APIOptions=ALLDATA RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 17 of 63
FRC 64 – Get Four Words This function is used to generate a unique combination of four words that can be used to reference cardholder data (CHD).
Request Fields – FRC 64 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“64” UniqueID=[max 16] APIOptions=ALLDATA RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC CA – Status Request This function is used to verify data center connectivity and thread count.
Request Fields – FRC CA Always Required for This Request APISignature=‘$’ Time=[HHMMSS] VERBOSE=“YES” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* APIFormat=‘0’ FunctionRequestCode=“CA” HTTP/HTTPS Only APIOptions=ALLDATA RequestorReference=[max 12] CONTENTTYPE=“XML” or “TEXT”
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 18 of 63
FRC F1 – Print Receipt to PIN Pad This function is used to request that a receipt be printed using a device’s built-in printer. The receipt may include a scannable bar code.
Request Fields – FRC F1 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] HTTP/HTTPS Only AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* CONTENTTYPE=“XML” or “TEXT” APIFormat=‘0’ FunctionRequestCode=“F1” TerminalID=[max 32] VERBOSE=“YES” APIOptions=ALLDATA RequestorReference=[max 12] ReceiptText=[max 4,000]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC F2 – Get Device Information This function is used to request information regarding the status of a specific device. Depending on the type of device in use, this request may return a variety of device information in the response, including the types of encryption keys injected on the device and more.
Request Fields – FRC F2 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“F2” TerminalID=[max 32] APIOptions=ALLDATA RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 19 of 63
FRC 82 – Prompt For Confirmation This function is used to display text for a consumer’s confirmation on a UTG-controlled PIN pad.
Request Fields – FRC 82 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] PromptConfirmValue=[max 4,096] AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* HTTP/HTTPS Only APIFormat=‘0’ FunctionRequestCode=“82” TerminalID=[max 32] CONTENTTYPE=“XML” or “TEXT” APIOptions=ALLDATA RequestorReference=[max 12] PromptConfirmQuestion=[64] VERBOSE=“YES”
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC 86 – Display Custom Form This function is used to display a custom form and text for a consumer’s input on a UTG-controlled PIN pad.
Request Fields – FRC 86 Always Required for This Request Date=[MMDDYY] TerminalID=[max 32] Dynamic Form Fields AccessToken=[max 51] FunctionRequestCode=“86” FormName=[12] KeyValueN=[max 200]†† APIFormat=‘0’ RequestorReference=[max 12] HTTP/HTTPS Only APIOptions=ALLDATA Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” APISignature=‘$’ Vendor=[max 64]* VERBOSE=“YES”
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
††N can be 1-10. For more information, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 20 of 63
FRC CF – Prompt for Terms and Conditions This function is used to display terms and conditions for a consumer to accept or decline on a UTG-controlled PIN pad.
Request Fields – FRC CF Always Required for This Request APISignature=‘$’ Time=[HHMMSS] HTTP/HTTPS Only AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* CONTENTTYPE=“XML” or “TEXT” APIFormat=‘0’ FunctionRequestCode=“CF” TerminalID=[max 32] VERBOSE=“YES” APIOptions=ALLDATA RequestorReference=[max 12] TermsandConditions=[max 4,096]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC DA – On-Demand Card Read This function is used to prompt a P2PE-enabled, UTG-controlled PIN pad to request a pass-through card swipe, causing the output of the swipe to be returned directly to the interface without any action or validation by Shift4 Payments or the processor.
Request Fields – FRC DA Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“DA” TerminalID=[max 32] APIOptions=[max 255] RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 21 of 63
FRC DB – Prompt for Input This function is used to prompt a UTG-controlled PIN pad to collect a specified value from a consumer. The interface will specify the value based on the DeviceInputIndex field. (For a complete list of DeviceInputIndex values, see the Sending the Input Prompt Function section of the Shift4 Payments Integration: API Integration Guide available in MyPortal API Corner.) Each request will collect one specified value; when multiple values need to be collected, separate requests must be sent.
Request Fields – FRC DB Always Required for This Request APISignature=‘$’ Time=[HHMMSS] HTTP/HTTPS Only AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* CONTENTTYPE=“XML” or “TEXT” APIFormat=‘0’ FunctionRequestCode=“DB” TerminalID=[max 32] VERBOSE=“YES” APIOptions=ALLDATA RequestorReference=[max 12] DeviceInputIndex=[3]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC 17 – Get Acceptable Identification Types for Checks This function is used to request that an identification (ID) type be returned in a response. The value returned will indicate the type of ID that may be used to verify a consumer paying with a check. For information about the values returned, please see Appendix D – Required IDs for Check Verification in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Request Fields – FRC 17 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] VERBOSE=“YES” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* APIFormat=‘0’ FunctionRequestCode=“17” HTTP/HTTPS Only APIOptions=ALLDATA RequestorReference=[max 12] CONTENTTYPE=“XML” or “TEXT”
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 22 of 63
FRC 1F – Check Approval This function is used to request an online check approval.
Request Fields – FRC 1F Always Required for This Request RequestorReference=[max 12] CONTENTTYPE=“XML” or “TEXT” MICR Read AccessToken=[max 51] Time=[HHMMSS] VERBOSE=“YES” RawMagneticData=[80] APIFormat=‘0’ Vendor=[max 64]* Manual Check Entry Optional
APIOptions=ALLDATA CheckAmount=[14] CheckingAccountNumber=[max 24] BirthDate=[MMDDYY] APISignature=‘$’ IDTypeCode=[2] IDNumber=[max 24] Clerk=[max 5] Date=[MMDDYY] ReaderIndicator=[1] ManualCheckNumber=[10] FunctionRequestCode=“1F” HTTP/HTTPS Only TransitRoutingNumber=[10]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC 5F – Get Totals Report This function is used to request a simple URL encoded totals report for automated analysis. It does not supersede the standard auditing and reporting tools that are included with Shift4 Payments’ products.
Request Fields – FRC 5F Always Required for This Request FunctionRequestCode=“5F” HTTP/HTTPS Only ReportStartTime=[6] AccessToken=[max 51] RequestorReference=[max 12] CONTENTTYPE=“XML” or “TEXT” ReportEndTime=[6] APIFormat=‘0’ Time=[HHMMSS] VERBOSE=“YES” ReportTerminalID=[max 32] APIOptions=[max 255] Vendor=[max 64]* Optional APISignature=‘$’ ReportStartDate=[MMDDYY] ReportCardType=[2] Date=[MMDDYY] ReportEndDate=[MMDDYY] ReportClerk=[5]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 23 of 63
FRC 92 – Display Line Item This function is used to display a line item on a UTG-controlled PIN pad. In additional FRC 92 requests, if the API Option APPENDLINEITEM is sent, the UTG will append a line item to the existing line item(s) displayed.
Request Fields – FRC 92 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] HTTP/HTTPS Only AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* CONTENTTYPE=“XML” or “TEXT” APIFormat=‘0’ FunctionRequestCode=“92” TerminalID=[max 32] VERBOSE=“YES” APIOptions=[max 255] RequestorReference=[max 12] LineItemN=[max 30]†††
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
†††To control formatting, such as spaces or the justification of text, use space characters in the string.
FRC 94 – Clear Line Items This function is used to clear the line items displayed on a UTG-controlled PIN pad.
Request Fields – FRC 94 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“94” TerminalID=[max 32] APIOptions=[max 255] RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 24 of 63
FRC 95 – Display Line Items This function is used to display up to 10 line items on a UTG-controlled PIN pad. In additional FRC 95 requests, if the API Option APPENDLINEITEM is sent, the UTG will append a line item to the existing line item(s) displayed.
When sending FRC 95, you must URL encode the line items, including spaces, before sending the request(s) to the UTG. Do not trim any line items or empty lines.
Request Fields – FRC 95 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] LineItemN=[max 30]††† AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* HTTP/HTTPS Only APIFormat=‘0’ FunctionRequestCode=“95” TerminalID=[max 32]
CONTENTTYPE=“XML” or “TEXT” APIOptions=[max 255] RequestorReference=[max 12] LineItemCount=[2] VERBOSE=“YES”
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
†††N is 1 through 10. To control formatting, such as spaces or the justification of text, use space characters in the string.
FRC 96 – Swipe Ahead This function is used to request a card swipe, insert, or tap (if applicable) on a UTG-controlled PIN pad before an Online Authorization (FRC 1B) or Online Sale (FRC 1D) request is sent.
Request Fields – FRC 96 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“96” TerminalID=[max 32] APIOptions=[max 255] RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 25 of 63
FRC 97 – Reset PIN Pad This function is used to reset a UTG-controlled PIN pad to idle. When there is pending consumer input (e.g., waiting for the consumer to confirm the amount, swipe their card, select credit or debit, etc.), sending FRC 97 will cancel the request.
Request Fields – FRC 97 Always Required for This Request APISignature=‘$’ Time=[HHMMSS] CONTENTTYPE=“XML” or “TEXT” AccessToken=[max 51] Date=[MMDDYY] Vendor=[max 64]* VERBOSE=“YES” APIFormat=‘0’ FunctionRequestCode=“97” TerminalID=[max 32] APIOptions=ALLDATA RequestorReference=[max 12] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 26 of 63
Gift Card Functions To use these functions, review the API Options GCCASHOUT, IYCRECHARGE, IYCACTIVEONLY, and IYCDEACTIVEONLY in the Gift Card Options section of the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
FRC 24 – Activate/Reload Gift Card This function requests that a new gift card be activated for use, that a new gift card be loaded with funds, or that an active gift card be loaded with additional funds.
Request Fields – FRC 24 Always Required for This Request Time=[HHMMSS] Card Entry (Send One of the Five - XOR) 4) Card-on-File/TrueToken AccessToken=[max 51] Vendor=[max 64]* 1) Unencrypted Card Data UniqueID=[max 16] APIFormat=‘0’ CardPresent=‘Y’ or ‘N’ • CardNumber=[max 32] 5) P2PE Fields APIOptions=[max 255] IYCBalance=[max 14] • ExpirationDate=[MMYY] • P2PEBlock=[max 2,048] APISignature=‘$’ IYCCardType=‘G’ 2) Unencrypted MSR • P2PEDeviceType=[2] Date=[MMDDYY] HTTP/HTTPS Only TrackInformation=[max 128] • P2PEBlockLength=[4]# FunctionRequestCode=“24” CONTENTTYPE=“XML” or “TEXT” 3) UTG-Controlled PIN Pad RequestorReference=[max 12] VERBOSE=“YES” TerminalID=[max 32]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 27 of 63
FRC 25 – Deactivate Gift Card This function requests that an active gift card be deactivated so that it can’t be used to process transactions. The API Option GCCASHOUT must be sent in the request to return any remaining funds to the consumer. If GCCASHOUT is not sent, a balance will remain on the gift card (if doing so is supported by the processor).
Request Fields – FRC 25 Always Required for This Request ReceiptTextColumns=[max 3] CONTENTTYPE=“XML” or “TEXT” 3) UTG-Controlled PIN Pad AccessToken=[max 51] RequestorReference=[max 12] VERBOSE=“YES” TerminalID=[max 32] APIFormat=‘0’ Time=[HHMMSS] Card Entry (Send One of the Five - XOR) 4) Card-on-File/TrueToken APIOptions=[max 255] Vendor=[max 64]* 1) Unencrypted Card Data UniqueID=[max 16] APISignature=‘$’ CardPresent=‘Y’ or ‘N’ • CardNumber=[max 32] 5) P2PE Fields Date=[MMDDYY] IYCCardType=‘G’ • ExpirationDate=[MMYY] • P2PEBlock=[max 2,048] FunctionRequestCode=“25” IYCReasonText=[max 32] 2) Unencrypted MSR • P2PEDeviceType=[2] Invoice=[max 10; numeric only] HTTP/HTTPS Only TrackInformation=[max 128] • P2PEBlockLength=[4]#
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 28 of 63
FRC 26 – Reactivate Gift Card This function requests that a previously deactivated gift card be reactivated. If there was a balance remaining on the gift card at the time of deactivation, the balance will again become available for use. Funds cannot be added to a gift card during a Reactivate request.
Request Fields – FRC 26 Always Required for This Request ReceiptTextColumns=[max 3] Card Entry (Send One of the Five - XOR) 4) Card-on-File/TrueToken AccessToken=[max 51] RequestorReference=[max 12] 1) Unencrypted Card Data UniqueID=[max 16] APIFormat=‘0’ Time=[HHMMSS] • CardNumber=[max 32] 5) P2PE Fields APIOptions=[max 255] Vendor=[max 64]* • ExpirationDate=[MMYY] • P2PEBlock=[max 2,048] APISignature=‘$’ IYCCardType=‘G’ 2) Unencrypted MSR • P2PEDeviceType=[2] Date=[MMDDYY] HTTP/HTTPS Only TrackInformation=[max 128] • P2PEBlockLength=[4]# FunctionRequestCode=“26” CONTENTTYPE=“XML” or “TEXT” 3) UTG-Controlled PIN Pad Invoice=[max 10; numeric only] VERBOSE=“YES” TerminalID=[max 32]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 29 of 63
FRC 61 – Get Balance Inquiry This function requests that a gift card’s balance, masked card number, expiration date, and discount percentage be returned. Merchants may be required to pay a fee for an inquiry request depending on their processor agreement.
Request Fields – FRC 61 Always Required for This Request ReceiptTextColumns=[max 3] 1) Unencrypted Card Data UniqueID=[max 16] AccessToken=[max 51] RequestorReference=[max 12] • CardNumber=[max 32] 5) P2PE Fields APIFormat=‘0’ Time=[HHMMSS] • ExpirationDate=[MMYY] • P2PEBlock=[max 2,048] APIOptions=ALLDATA Vendor=[max 64]* 2) Unencrypted MSR • P2PEDeviceType=[2] APISignature=‘$’ HTTP/HTTPS Only TrackInformation=[max 128] • P2PEBlockLength=[4]# Date=[MMDDYY] CONTENTTYPE=“XML” or “TEXT” 3) UTG-Controlled PIN Pad FunctionRequestCode=“61” VERBOSE=“YES” TerminalID=[max 32] Invoice=[max 10; numeric only] Card Entry (Send One of the Five - XOR) 4) Card-on-File/TrueToken
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 30 of 63
FRC E0 – TokenStore Add This function requests that CHD be added to a local or Global TokenStore and that a TrueToken be returned for future use. The card’s short-term data will not be consumed during the tokenization process when using this function. This function cannot be used for EMV processing.
Request Fields – FRC E0 Always Required for This Request HTTP/HTTPS Only TrackInformation=[max 128] CustomerName=[max 35] AccessToken=[max 51] CONTENTTYPE=“XML” or “TEXT” 3) UTG-Controlled PIN Pad StreetAddress=[max 30] APIFormat=‘0’ VERBOSE=“YES” TerminalID=[max 32] ZipCode=[max 9] APIOptions=[max 255] Card Entry (Send One of the Five – XOR) 4) Card-on-File/TrueToken AVS/CVV2 Prompt APISignature=‘$’ 1) Unencrypted Card Data
UniqueID=[max 16] CVV2Prompt=‘Y’ or ‘N’
Date=[MMDDYY] • CardNumber=[max 32] 5) P2PE Fields PostalCodePrompt=‘Y’ or ‘N’ FunctionRequestCode=“E0” • ExpirationDate=[MMYY] • P2PEBlock=[max 2,048] StreetNumberPrompt=‘Y’ or ‘N’ RequestorReference=[max 12] • CVV2Indicator=[1] • P2PEDeviceType=[2] MetaToken Time=[HHMMSS] • CVV2Code=[max 4] • P2PEBlockLength=[4]# MetaTokenType= “IL” or “F6” Vendor=[max 64]* 2) Unencrypted MSR AVS
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 31 of 63
FRC E2 – TokenStore Duplicate This function requests that a new TrueToken be generated using an existing TrueToken. This request can be used to deposit a TrueToken into a Global TokenStore or as a means to continue using a token that is about to expire. The card’s short-term data (if sent by the interface) will be stored until it is used or for the period configured in the merchant’s DOLLARS ON THE NET account.
Request Fields – FRC E2 Always Required for This Request Time=[HHMMSS] CVV2Code=[max 4] StreetNumberPrompt=‘Y’ or ‘N’ AccessToken=[max 51] Vendor=[max 64]* AVS MetaToken APIFormat=‘0’ UniqueID=[max 16] CustomerName=[max 35] MetaTokenType=“IL” or “F6” APIOptions=[max 255] HTTP/HTTPS Only StreetAddress=[max 30] Global TokenStore/Token Sharing APISignature=‘$’ CONTENTTYPE=“XML” or “TEXT” ZipCode=[max 9] TokenSerialNumber=[max 10] Date=[MMDDYY] VERBOSE=“YES”
AVS/CVV2 Prompt
FunctionRequestCode=“E2” CVV CVV2Prompt=‘Y’ or ‘N’ RequestorReference=[max 12] CVV2Indicator=[1] PostalCodePrompt=‘Y’ or ‘N’
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 32 of 63
FRC D7 – Block Card This function requests that a card be placed on a list that prevents it from being used across an account.
Request Fields – FRC D7 Always Required for This Request Time=[HHMMSS] • ExpirationDate=[MMYY] UniqueID=[max 16] AccessToken=[max 51] Vendor=[max 64]* • CVV2Indicator=[1] 5) P2PE Fields APIFormat=‘0’ HTTP/HTTPS Only • CVV2Code=[max 4] • P2PEBlock=[max 2,048] APIOptions=ALLDATA CONTENTTYPE=“XML” or “TEXT” 2) Unencrypted MSR • P2PEDeviceType=[2] APISignature=‘$’ VERBOSE=“YES” TrackInformation=[max 128] • P2PEBlockLength=[4]# Date=[MMDDYY] Card Entry (Send One of the Five – XOR) 3) UTG-Controlled PIN Pad FunctionRequestCode=“D7” 1) Unencrypted Card Data
TerminalID=[max 32]
RequestorReference=[max 12] • CardNumber=[max 32] 4) Card-on-File/TrueToken
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 33 of 63
FRC D8 – Unblock Card This function requests that a card be unblocked, allowing it to be used across an account again.
Request Fields – FRC D8 Always Required for This Request Time=[HHMMSS] • ExpirationDate=[MMYY] UniqueID=[max 16] AccessToken=[max 51] Vendor=[max 64]* • CVV2Indicator=[1] 5) P2PE Fields APIFormat=‘0’ HTTP/HTTPS Only • CVV2Code=[max 4] • P2PEBlock=[max 2,048] APIOptions=ALLDATA CONTENTTYPE=“XML” or “TEXT” 2) Unencrypted MSR • P2PEDeviceType=[2] APISignature=‘$’ VERBOSE=“YES” TrackInformation=[max 128] • P2PEBlockLength=[4]# Date=[MMDDYY] Card Entry (Send One of the Five – XOR) 3) UTG-Controlled PIN Pad FunctionRequestCode=“D8” 1) Unencrypted Card Data
TerminalID=[max 32]
RequestorReference=[max 12] • CardNumber=[max 32] 4) Card-on-File/TrueToken
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 34 of 63
FRC D9 – Card Block Status This function requests that the status of a card (“Blocked” or “Unblocked”) be returned.
Request Fields – FRC D9 Always Required for This Request Time=[HHMMSS] • ExpirationDate=[MMYY] 5) P2PE Fields AccessToken=[max 51] Vendor=[max 64]* • CVV2Code=[max 4] • P2PEBlock=[max 2,048] APIFormat=‘0’ HTTP/HTTPS Only 2) Unencrypted MSR • P2PEDeviceType=[2] APIOptions=ALLDATA CONTENTTYPE=“XML” or “TEXT” TrackInformation=[max 128] • P2PEBlockLength=[4]# APISignature=‘$’ VERBOSE=“YES” 3) UTG-Controlled PIN Pad Date=[MMDDYY] Card Entry (Send One of the Five – XOR) TerminalID=[max 32] FunctionRequestCode=“D9” 1) Unencrypted Card Data
4) Card-on-File/TrueToken
RequestorReference=[max 12] • CardNumber=[max 32] UniqueID=[max 16]
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 35 of 63
FRC CD – Get MetaToken This function requests that a 16-digit MetaToken be returned for tracking card usage across multiple revenue centers.
Request Fields – FRC CD Always Required for This Request Time=[HHMMSS] 1) Unencrypted Card Data
TerminalID=[max 32]
AccessToken=[max 51] Vendor=[max 64]* • CardNumber=[max 32] 4) Card-on-File/True Token APIFormat=‘0’ HTTP/HTTPS Only • ExpirationDate=[MMYY] UniqueID=[max 16] APIOptions=ALLDATA CONTENTTYPE=“XML” or “TEXT” • CVV2Indicator=[1] 5) P2PE Fields APISignature=‘$’ VERBOSE=“YES” • CVV2Code=[max 4] • P2PEBlock=[max 2,048] Date=[MMDDYY] MetaToken 2) Unencrypted MSR • P2PEDeviceType=[2] FunctionRequestCode=“CD” MetaTokenType=“IL” or “F6” TrackInformation=[max 128] • P2PEBlockLength=[4]# RequestorReference=[max 12] Card Entry (Send One of the Five – XOR) 3) UTG-Controlled PIN Pad
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
#TCP/IP requests only.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 36 of 63
Access Token Functions
FRC CE – Generate Access Token This function is used to request exchanging a Client GUID and Auth Token for an Access Token.
Request Fields – FRC CE Always Required for This Request Date=[MMDDYY] Vendor=[max 64]* CONTENTTYPE=“XML” or “TEXT” APIFormat=‘0’ FunctionRequestCode=“CE” AuthToken=[51] VERBOSE=“YES” APIOptions=ALLDATA RequestorReference=[max 12] ClientGUID=[51] APISignature=‘$’ Time=[HHMMSS] HTTP/HTTPS Only
*For the Vendor parameter format, see the field description in the Shift4 Payments Integration: Reference Guide available in MyPortal API Corner.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 37 of 63
Deprecated Functions
FRC 91 – Display Center This function is deprecated and has been replaced by FRC 94; it was used to request to clear a line item or a list of line items from a PIN pad display.
FRC 93 – Poll Swipe Data This function is deprecated and should no longer be used by a POS/PMS. It was used to poll the PIN pad device for the card-swipe data.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 38 of 63
Appendix A – TCP/IP Data Blocks Appendix A contains diagrams of data blocks sent when using the TCP/IP communication protocol. The diagrams convey the ordering and the size limitations of each field. This appendix also provides information regarding how to format certain values in data blocks. This includes information on using implied decimals for numeric fields, field padding and what data block each field is in, and whether a field is a fixed or variable length.
Please note that fields that are not used/defined in a particular FRC should be padded with spaces. See the Field Padding section for more information. See the Transaction Functions section for which fields should be sent for each FRC.
Requirement: For an explanation of how to format TCP/IP requests, see the Formatting Shift4 API Messages section of the Shift4 Payments Integration: API Integration Guide available in MyPortal API Corner.
Field Padding For fixed-length fields, right pad any unused characters with spaces (ASCII 32). Right padding is not needed for variable length fields and should not be used.
Understanding Implied Decimals Currency fields must explicitly denote the dollars and cents without the use of decimal points. The term "implied decimal" means that a numeric entry sent in a TCP/IP data block accounts for any decimal values and that it is expressed to the hundredths place (or two places past the decimal point). In addition, requests sent using the TCP/IP protocol require that fixed-length fields are explicitly defined.
For example, if the amount of a transaction is $100.35, the value entered would be:
‘1’ ‘0’ ‘0’ ‘3’ ‘5’ASCII 032
ASCII 032
ASCII 032
ASCII 032
ASCII 032
ASCII 032
ASCII 032
ASCII 032
ASCII 032
The field's value is essentially being entered in cents rather than dollars.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 39 of 63
Transaction Header
Invoice CardNumber
FunctionRequestCode RequestorReference
ErrorIndicator('Y' or 'N')
23
PrimaryErrorCode
(6 bytes)
SecondaryErrorCode
'$'
MerchantID** TranID
4626 (10 bytes) 36 (10 bytes)
'0'
164 (12 bytes)0 1 2 (2 bytes)
(up to 32 bytes) up to 88
26
46
16 17
(10 bytes) 56
(3 bytes)
**This field has been deprecated. Fill with zeros.
000 Vendor Description
VendorASCII 028 '0' '0' '0'
up to 684 (up to 64 bytes)0 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 40 of 63
001 Standard Transaction
58
Date (MMDDYY) Time (HHMMSS)
2917 23 (6 bytes)(6 bytes)
(14 bytes)
AVSZipVerified
58 59 65
66
(6 bytes)
67 68 69
0 1
ASCII 028
ValidAVS
Response
SecondaryAmount††††
TrackInformationAVSStreetVerified
'0' '0' '1'
(14 bytes)
(4 bytes)
ExpirationDate (MMYY)
(5 bytes) 17128
44
84 (2 bytes) 6 7
CardEntryModeCardType CardPresent ('Y' or 'N')
Clerk (five-digit numeric ID)
up to 197(up to 128 bytes)
AVSResultAuthorization
PrimaryAmount††††
30
SaleFlag ('S' or 'C')
29
66
44
††††Currency fields use an implied decimal; no decimal should be used.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 41 of 63
002 AVS
78
CustomerName
69(30 bytes) (9 bytes)39
StreetAddress ZipCode
ASCII 028 '0' '0' '2'
394 (35 bytes)0 1
003 Hotel Check Out
DepartureDate (MMDDYY)
18
ArrivalDate (MMDDYY)
2418
12
PrimaryChargeType SpecialCode
0 1
ASCII 028 '0' '0' '3'
6
HotelAdditionalCharges
(6 bytes)
(6 bytes)
(6 bytes)
4 5 6
12
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 42 of 63
004 Auto Return
138
RentalDate (MMDDYY)
(6 bytes)
ReturnState
123(2 bytes)
ReturnZipCode
132(9 bytes)
ReturnDate (MMDDYY)
(18 bytes)
62
RentalCity
(18 bytes) 80
RentalState
82
NoShowIndicator ReturnCountryCodeAutoAdditionalCharges
150(6 bytes) 151 154(3 bytes)
144
144
(6 bytes) (6 bytes)
ReturnTime (HHMMSS)
121
102
(2 bytes)
RentalZipCode
121
RentalTime (HHMMSS) ReturnCity
(9 bytes) 9148
0 1 4 (9 bytes)
91 97 (6 bytes)
(14 bytes)
LateAdjustment
13 (35 bytes) 48
ASCII 028 '0' '0' '4' RentalAgreement DriverName
005 Debit PIN Pad 0 (2 bytes)1 6
PinPadKey ǁ PinBlock
8 (20 bytes) (16 bytes)
ASCII 028 PinPadType '0' '0' '5'
4
28
PinPadBlockFormat
(2 bytes)
44
8
ǁ The PINPadKey field is a hexadecimal field that should be padded with leading ‘F’s.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 43 of 63
006 Signature Capture 0 1 84 (2 bytes) 6 7
(up to 16,384 bytes)
SignatureTotalBlocks
up to 16,392
SignatureBlock
ASCII 028 SignatureBlockNumber '0' '0' '6' SignatureDeviceType
8
008 Level 2 Data
TaxIndicator ('Y' or 'N') TaxAmount
294 (25 bytes)
DestinationZipCode
44 (9 bytes) 53
CustomerReference
(14 bytes)
'0' '0' '8'
0 1
29 30
ASCII 028
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 44 of 63
009 Purchasing Card Data
(1 byte)
(1 byte)
ProductDescriptor1
up to 167
up to 85
up to 126
ProductDescriptor3ASCII 094
ProductDescriptor2
ProductDescriptor4
(1 byte)
ASCII 028 '0' '0' '9'
ASCII 094
ASCII 094
(up to 40 bytes)
(up to 40 bytes)
(up to 40 bytes)
up to 444 (up to 40 bytes)0 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 45 of 63
010 Valid Check ID Types
ValidIDTypesASCII 028 '0' '1' '0'
up to 1044 (up to 100 bytes)0 1
011 Check Approval
TransitRoutingNumber CheckingAccountNumber
8450
164 165
CheckType ReaderIndicator
176
30 36
(24 bytes)
ASCII 028
0
IDNumber '0' '1' '1' IDTypeCode
304 (2 bytes) 6 (24 bytes)1
50
166
Birthdate (MMDDYY)
(6 bytes)
CheckAmount††††
(14 bytes)
HostResponse
74
ManualCheckNumber
(10 bytes)
up to 200
84
166
RawMagneticData
(80 bytes)
(10 bytes) (up to 24 bytes)
††††Currency fields use an implied decimal; no decimal should be used.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 46 of 63
012 DBA
6426
MerchantType
148(20 bytes)
DBAAddressLine1
(38 bytes)
102(38 bytes)
0 1 264 (22 bytes)
DBA
DBAZipCode
128127
CardAbbreviations
ASCII 028 '0' '1' '2'
64
DBACity DBAState
DBAAddressLine2
102 127118115(13 bytes) (3 bytes) (9 bytes)
158 (8 bytes) 166
SerialNumber
(10 bytes)
Revision
148
(6 bytes) 187
DBAPhone BusinessDayEndingTime
166 (15 bytes) 181
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 47 of 63
013 Hotel Check In 0 1
ASCII 028 '0' '1' '3' HotelEstimatedDays
4 (2 bytes) 6
014 Auto Rental
AutoEstimatedDays
4 (2 bytes) 60 1
ASCII 028 '0' '1' '4'
015 Voice Authorization Center 244 (20 bytes)0 1
up to 44
VoicePhoneNumber
VoiceMerchantAccount
(up to 20 bytes)
ASCII 028 '0' '1' '5'
24
016 Extended Authorization
PreauthorizedAmount††††
PreauthorizedTolerance RetrievalReference
44
AuthSource
ASCII 028
18 (14 bytes) (12 bytes) 45
'0' '1' '6'
(14 bytes) 1840 1
32
††††Currency fields use an implied decimal; no decimal should be used.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 48 of 63
017 Notes
NotesASCII 028 '0' '1' '7'
up to 4,1004 (up to 4,096 bytes)0 1
018 Terminal ID
TerminalIDASCII 028 '0' '1' '8'
up to 364 (up to 32 bytes)0 1
022 Card Security Code (CVV2)
10
CVV2Indicator
CVV2Valid ('Y' or 'N')CVV2Result
11
ASCII 028 '0' '2' '2'
CVV2Code
(4 bytes)5 9
4 50 1
023 API Options
APIOptions
(up to 255 bytes)
ASCII 028 '0' '2' '3'
up to 25940 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 49 of 63
025 IT’S YOUR CARD
IYCCardType IYCDiscountASCII 028 '0' '2' '5'
IYCBalance††††
(14 bytes) (14 bytes)10
IYCAvailableBalance††††
3824
104 50 1 (5 bytes)
IYCExpiration IYCCardFormatted
(up to 68)38 (6 bytes) 44 (up to 24 bytes)
††††Currency fields use an implied decimal; no decimal should be used.
026 IT’S YOUR CARD Reason Text
IYCReasonTextASCII 028 '0' '2' '6'
up to 364 (up to 32 bytes)0 1
031 Override Business Date
OverrideBusDate (MMDDYY)ASCII 028 '0' '3' '1'
(6 bytes) 1040 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 50 of 63
032 Totals Report
ReportCardType ReportTerminalID
(up to 32 bytes)
2216
up to 67
ReportStartDate (MMDDYY)ASCII 028 '0' '3' '2'
ReportStartTime (HHMMSS) ReportEndDate (MMDDYY)
(2 bytes)33 35
(6 bytes)
(6 bytes)
1040 1
(6 bytes)10
ReportEndTime (HHMMSS) ReportClerk
3322 (6 bytes) 28 (5 bytes)
033 Receipt Text 0 1 4 7
ReceiptTextColumns
ReceiptText
up to 4,007(up to 4,000 bytes)
ASCII 028 '0' '3' '3'
7
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 51 of 63
039 UniqueID 2040 1 (16 bytes)
TokenSerialNumber
20 (up to 10 bytes) 30
UniqueIDASCII 028 '0' '3' '9'
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 52 of 63
054 Line Items
LineItem3 LineItem4
(30 bytes)
666
66
LineItem1
126
ASCII 028 '0' '5' '4' LineItemCount
96(30 bytes) (30 bytes)
36
4 (2 bytes) 6
LineItem9 LineItem10
LineItem7 LineItem8
186 (30 bytes) 216
246 (30 bytes) 276 (30 bytes) 306
186(30 bytes)
LineItem6
(30 bytes) 246
LineItem5
126 156
0 1
LineItem2
(30 bytes) (30 bytes)
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 53 of 63
055 Line Item 4 34(30 bytes)
ASCII 028 '0' '5' '5' LineItem
0 1
056 Cashback and Surcharge Amounts (14 bytes) (14 bytes)
CashBack††††
184 32
ASCII 028 '0' '5' '6'
0 1
Surcharge††††
††††Currency fields use an implied decimal; no decimal should be used.
064 BIN Management
SpinAbb SpinIsDebit SpinIsDCC SpinResult
(2 bytes)14 (2 bytes) 16 17 20
(10 bytes) 14
SpinPrefix
4
18
ASCII 028 '0' '6' '4'
0 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 54 of 63
068 Enhanced Authorization
(up to 1,024 bytes)
4 (2 bytes) 6
6 up to 1,030
EnhancedDataValues
0 1
ASCII 028 '0' '6' '8' EnhancedDataID
070 Inventory Information Approval System (IIAS)
IIASAmount4††††
IIASAmount3†††† IIASType4
54 (14 bytes) 68
IIASAmount2†††† IIASType3
38 (14 bytes) 52 (2 bytes) 54
IIASAmount1†††† IIASType2
22 (14 bytes) 36 (2 bytes) 38
(2 bytes) 6
(14 bytes) 20 (2 bytes)6 22
0 1
ASCII 028 '0' '7' '0' IIASType1
4
††††Currency fields use an implied decimal; no decimal should be used.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 55 of 63
073 Four Words
(up to 28 bytes)4 up to 32
FourWords
0 1
ASCII 028 '0' '7' '3'
074 Card Level Results 4
ASCII 028
(2 bytes)0
'0' '7' '4' CardLevelResults
61
075 Balance Return
Balance††††
195 (14 bytes)
5
ASCII 028 '0' '7' '5' BalanceReturnIndicator
40 1
††††Currency fields use an implied decimal; no decimal should be used.
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 56 of 63
076 P2PE
2,0586
P2PEBlock
10
P2PEBlockLength
(2,048 bytes)(4 bytes)
ASCII 028 '0' '7' '6'
4
P2PEDeviceType
60 1 (2 bytes)
086 MetaToken 40
(2 bytes) 6 (16 bytes)
1
22
MetaTokenType MetaTokenData
4
ASCII 028 '0' '8' '6'
087 Prompt Confirmation
(up to 4,165)(up to 4,096 bytes)5
PromptConfirmValue
69
PromptConfirmQuestion
(64 bytes)
ASCII 028 '0' '8' '7'
4
PromptConfirmResult
50 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 57 of 63
088 Photo
PhotoData
PhotoType
5
up to 4,194,309(up to 4,194,304 bytes)5
ASCII 028 '0' '8' '8'
40 1
089 Gift Card Extended Data
GiftCardExtendedDataValues
up to 1,028
4
4
0 1
ASCII 028 '0' '8' '9'
(up to 1,024 bytes)
090 Merchant Receipt Text
MerchantReceiptTextASCII 028 '0' '9' '0'
up to 5,0001 40 (up to 4,096 bytes)
091 Customer Receipt Text
CustomerReceiptTextASCII 028 '0' '9' '1'
up to 5,0001 40 (up to 4,096 bytes)
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 58 of 63
094 Access Token
AccessTokenASCII 028 '0' '9' '4'
up to 551 40 (up to 51 bytes)
095 Token Exchange
ClientGUID
55
ASCII 028 '0' '9' '5' AuthToken
55 (up to 51 bytes) up to 106
0 1 4 (51 bytes)
097 Cloud Parameters
'0' '9' '7'
4
DeviceService
DeviceGuid
(up to 200 bytes)
(10 bytes) 140 1
up to 21414
ASCII 028
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 59 of 63
098 Cloud Extended Parameters
ASCII 028 '0' '9' '8' DeviceExtensions
0 up to 1,0281 4 (up to 1,024 bytes)
100 Process Forms
(up to 200 bytes)
up to 2,030
up to 1,025
KeyValue1
(up to 200 bytes)
up to 1,628 up to 1,629(up to 200 bytes)
KeyValue4
(up to 200 bytes)
(up to 200 bytes)
(up to 200 bytes)
(up to 200 bytes)
ASCII 094 ASCII 094
up to 1,830up to 1,427 up to 1,428
ASCII 094
(up to 200 bytes)
ASCII 094
up to 1,227(up to 200 bytes) up to 824 up to 825
up to 1,829
ASCII 094
up to 1,026 (up to 200 bytes)
up to 623
ASCII 094 ASCII 094
up to 624
KeyValue7 KeyValue8 KeyValue9
up to 1,226
ASCII 094
KeyValue10
KeyValue2 KeyValue3
up to 221 up to 222 up to 422 up to 423
KeyValue5 KeyValue6
ASCII 094
ASCII 028 '1' '0' '0'
0 1 4
21
up to 624
up to 1,227
up to 1,830
21
FormName FormResponse
(5 bytes)16(12 bytes)
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 60 of 63
108 Terms and Conditions
ASCII 028 '1' '0' '8' TermsAndConditionsResult
(up to 4,096 bytes)
5
up to 4,1026
TermsAndConditions
0 1 4
111 Signature Suppressed 0 1 4
ASCII 028 '1' '1' '1' SignatureSuppressed
5
112 AVS/CVV Prompt
StreetNumberPrompt PostalCodePrompt
4 5
6 75
'1' '1' '2' ASCII 028
10
CVV2Prompt
113 Input Prompt 1
DeviceInputResponse
up to 4,103(up to 4,096 bytes)(3 bytes)0
DeviceInputIndex
4 7
'1' '1' '3' ASCII 028
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 61 of 63
116 Device Language
ASCII 028
1 (3 bytes)0
DeviceLanguage
4 7
'1' '1' '6'
999 Extended Error
LongError
(up to 255 bytes)
(16 bytes)
'9' '9' '9' ShortError
20
ASCII 028
1 2040
up to 275
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 62 of 63
Deprecated Data Blocks
019 API Serial Number and Password
APISerialNumber
36
ASCII 028
1 (32 bytes) 36
APIPassword
(10 bytes) 46
40
'0' '1' '9'
072 EMV Receipt Information
EMVRequireSignature EMVOnlineDecision '0' '7' '2'
7
EMVOfflineDecision
6
ASCII 028
1 640 5
085 Verify ID
4 5
ASCII 028 '0' '8' '5' VerifyID('Y' or 'N')
0 1
Shift4 Payments Integration: The Complete Functions Guide
© 2018 Shift4 Payments, LLC. All rights reserved. Version 1.0 External Use NDA Page 63 of 63
The Complete Functions Guide Change Log
05/xx/18 – Change Log for The Complete Functions Guide Page Change
• New Document:
o Combined HTTP/HTTPS Complete Functions Guide with TCP/IP Complete Functions Guide.
o Reformatted FRC tables:
Added subsections for Required and Optional fields.
Added footnotes for specific fields.
Used cell shading for better visibility and separation of subsections within the tables
Remove FRC response information from the guide.
Formatted Transaction Functions section in landscape.
o Created an Appendix for TCP/IP data block information per FRC.