shift4® payments integration...shift4 payments integration: reference guide for values that can be...

63
The Complete Functions Guide Shift4® Payments Integration Copyright © 2018 Shift4 Payments, LLC. All rights reserved.

Upload: others

Post on 20-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shift4® Payments Integration...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

The Complete Functions Guide

Shift4® Payments Integration

Copyright © 2018 Shift4 Payments, LLC. All rights reserved.

Page 2: Shift4® Payments Integration...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

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.

Page 3: Shift4® Payments Integration...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

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

Page 4: Shift4® Payments Integration...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

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.

Page 5: Shift4® Payments Integration...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

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

Page 6: Shift4® Payments Integration...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

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.

Page 7: Shift4® Payments Integration...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

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’

Page 8: Shift4® Payments Integration...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

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.

Page 9: Shift4® Payments Integration...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

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

Page 10: Shift4® Payments Integration...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

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.

Page 11: Shift4® Payments Integration...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

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’

Page 12: Shift4® Payments Integration...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

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.

Page 13: Shift4® Payments Integration...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

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.

Page 14: Shift4® Payments Integration...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

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.

Page 15: Shift4® Payments Integration...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

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.

Page 16: Shift4® Payments Integration...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

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.

Page 17: Shift4® Payments Integration...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

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.

Page 18: Shift4® Payments Integration...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

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.

Page 19: Shift4® Payments Integration...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

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.

Page 20: Shift4® Payments Integration...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

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.

Page 21: Shift4® Payments Integration...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

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.

Page 22: Shift4® Payments Integration...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

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.

Page 23: Shift4® Payments Integration...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

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.

Page 24: Shift4® Payments Integration...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

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.

Page 25: Shift4® Payments Integration...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

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.

Page 26: Shift4® Payments Integration...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

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.

Page 27: Shift4® Payments Integration...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

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.

Page 28: Shift4® Payments Integration...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

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.

Page 29: Shift4® Payments Integration...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

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.

Page 30: Shift4® Payments Integration...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

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.

Page 31: Shift4® Payments Integration...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

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.

Page 32: Shift4® Payments Integration...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

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.

Page 33: Shift4® Payments Integration...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

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.

Page 34: Shift4® Payments Integration...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

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.

Page 35: Shift4® Payments Integration...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

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.

Page 36: Shift4® Payments Integration...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

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.

Page 37: Shift4® Payments Integration...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

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.

Page 38: Shift4® Payments Integration...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

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.

Page 39: Shift4® Payments Integration...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

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

Page 40: Shift4® Payments Integration...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

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.

Page 41: Shift4® Payments Integration...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

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

Page 42: Shift4® Payments Integration...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

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.

Page 43: Shift4® Payments Integration...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

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

Page 44: Shift4® Payments Integration...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

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

Page 45: Shift4® Payments Integration...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

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.

Page 46: Shift4® Payments Integration...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

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

Page 47: Shift4® Payments Integration...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

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.

Page 48: Shift4® Payments Integration...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

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

Page 49: Shift4® Payments Integration...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

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

Page 50: Shift4® Payments Integration...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

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

Page 51: Shift4® Payments Integration...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

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'

Page 52: Shift4® Payments Integration...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

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)

Page 53: Shift4® Payments Integration...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

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

Page 54: Shift4® Payments Integration...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

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.

Page 55: Shift4® Payments Integration...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

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.

Page 56: Shift4® Payments Integration...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

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

Page 57: Shift4® Payments Integration...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

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)

Page 58: Shift4® Payments Integration...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

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

Page 59: Shift4® Payments Integration...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

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)

Page 60: Shift4® Payments Integration...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

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

Page 61: Shift4® Payments Integration...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

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

Page 62: Shift4® Payments Integration...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

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

Page 63: Shift4® Payments Integration...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

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.