# API Options API Options can be sent in order to adjust the functionality of the request being made. API Options should be sent in the `apiOptions` array. ## Transaction Authorization Request Options ### ALLOWPARTIALAUTH This option is used to enable the processor to issue a partial approval (if they support it). When ALLOWPARTIALAUTH is included in a request, the interface must be able to handle a `transaction.responseCode` of 'P', which indicates the transaction has been partially approved. The `amount.total` field in the response will contain the approved amount, which should be compared against the amount requested. ### POSHANDLEAVSFAIL When an interface sends "POSHANDLEAVSFAIL" for an initial authorization or sale, Shift4 will not automatically void a [One Pass](/guides/response-handling/understanding-avs-and-csc-verification#one-pass-verification) transaction which has an AVS or CSC failure. One Pass transactions which result in an AVS or CSC failure will return `transaction.responseCode` 'f'. This option does not affect [Two Pass](/guides/response-handling/understanding-avs-and-csc-verification#two-pass-verification) transactions. ### RETURNEXPDATE This option is used to return a card’s expiration date unmasked. Federal law requires all businesses to truncate credit card information on receipts. Make sure your receipt does not display the card’s expiration date and only displays the last four digits of the card number. See the example below: ACCTXXXXXXXXXXXX1234 For more information, see: [ftc.gov](https://www.ftc.gov/tips-advice/business-center/guidance/slip-showing-federal-law-requires-all-businesses-truncate) ### TAXEXEMPT This option indicates that a transaction is tax exempt. TAXEXEMPT should only be used when a transaction is explicitly tax exempt. ## Sale Request Options ### INVMUSTEXIST This option returns an error if the invoice specified in a [Sale/Purchase](/apis/payments-platform-rest/openapi/transactions/transactionssale) or [Capture](/apis/payments-platform-rest/openapi/transactions/transactionscapture) does not already exist. ## EBT Authorization Request Options ### EBTCASH This option is used to indicate the transaction is an EBT cash benefit. ### EBTFOOD This option is used to indicate the transaction is an EBT food stamps benefit. ### EBTWITHDRAW This option is used to indicate the transaction is an EBT cash withdrawal. ## Merchant Information Options ### FULLDBANAME This option is used to return the merchant’s full DBA Name in the `notes` field on [Merchant Information](/apis/payments-platform-rest/openapi/merchants/merchantsmerchant) requests. ### RETURNCURRENCYCODE This option is used to return the merchant’s configured currency code in the `currencyCode` field. ## UTG-Controlled PIN Pad Options ### ALLOWCASHBACK This option is used to allow the interface to process cash back requests from a consumer. ### APPENDLINEITEM This option is used to append a line item to the existing line item(s) displayed on the screen. This API Option works with Display Line Items requests. ### BYPASSAMOUNTOK This option is used to bypass the Amount OK screen and go straight to the insert/swipe screen. If Tip is enabled on the device, it will cause the UTG to prompt for Tip prior to going to the insert/swipe screen. The Amount OK screen can be bypassed for all transactions on Ingenico PIN pad devices by selecting the “Bypass Amount OK” setting in UTG TuneUp. ### BYPASSSIGCAP This option is used to suppress requesting an electronic signature from a consumer for a given transaction. ### BYPASSUTG This option is used to bypass the PIN pad (even if a `device.terminalId` is included in a request). ### BYPASSTIP This option is used to prevent the PIN pad from prompting for tip for the current transaction (if Tip is enabled for the PIN pad device in UTG TuneUp). ### DISABLEEMV This option is used to process a transaction using a specialized payment card via an alternate merchant ID (MID). ### DISABLEMCE This option is used to override the UTG TuneUp setting allowing manual card entry (MCE). The UTG will display a Please Swipe/Insert (or Tap, if applicable) form with the Manual Entry button disabled or hidden. ### DISABLECONTACTLESS This option is used to disable the PIN pad’s contactless functionality for the current transaction. ### DISCARDTRACKINFO This option is used to make a swiped card appear manually entered by discarding the swipe data other than the card number and expiration date. ### LANECLOSED This option is used with a [Reset Device](/apis/payments-platform-rest/openapi/devices/devicesreset) request to put a terminal into a Lane Closed state. The device will display the Lane Closed screen instead of the standard idle screens. A second [Reset Device](/apis/payments-platform-rest/openapi/devices/devicesreset) request without the LANECLOSED API Option will cancel the display of the lane closed screen. ### NOSIGNATURE This option is used to suppress requesting a signature from a consumer for a given transaction. ### PRINTTIPLINE This option is used to include a tip line in the receipt text. ### PLCCSIGNATURE This option is used with a [Request Signature](/apis/payments-platform-rest/openapi/devices/devicessignatures) request. If PLCCSIGNATURE is included, the screen on the PIN pad will display “I have received and agree with the Terms and Conditions” instead of “Please sign and tap ok with pen”. ### RETURNSIGNATURE This option is used to return the signature captured on a PIN pad to the interface. The returned signature can then be used by the interface to display to the clerk or print on a receipt. ### USECARDNAME This option is used to overwrite the values in the `customer.firstName` and `customer.lastName` fields with the information from the EMV or track data. If no EMV or track data is available, this option will be ignored. ### USEMCE This option is used to bypass the Please Swipe Card screen and display the Enter Card Number screen instead. This allows the interface to force MCE (even if it is disabled by default in UTG TuneUp). ### USEQRPAY This option is used to bypass the Please Swipe Card screen and display the QR Payments screen instead. This allows the interface to force QR Payments (even if it is disabled in UTG TuneUp). ## TokenStore Options ### TOKENAUTH This option is used to trigger the system to perform a $0 or $1 authorization to validate the card. If the card is valid, the card number will be stored and a card token will be returned. All other responses will return error 9858. This API Option will be ignored if the CSC information or track data is included in the request because CSC and track data cannot be stored after authorization and would be consumed by the TOKENAUTH API Option. ### IGNOREEXPIRY This option is used to tokenize expired cards when using the TokenStore Add function request. When IGNOREEXPIRY is included in the apiOptions array, Shift4 will allow the card sent in the request to be tokenized – regardless of its expiration date. Using IGNOREEXPIRY also allows expired cards to be imported. ## Totals Report Option ### NONPROBLEMSONLY This option is used to return only non-problem transactions in the response to a [Totals Report](/apis/payments-platform-rest/openapi/reports/reportsbatchtotals) request. ## Citcon Option ### QRLINK This option only applies to the GetQRCode request. If included, the response will return a link to a QR code image or a string that can be converted to a QR code image. ## Device Manufacturer Only API Options ### CONTACTLESSEMVCAPABLE This option is only used by device manufacturers to identify if the device is capable of processing contactless EMV payment cards. ## Verify Card With Processor API Options ### USEANI This option is used to initiate an Account Name Inquiry request. See the [Verify Card](/apis/payments-platform-rest/openapi/cards/cardsverify) section for more details. ## Gift Card Balance Options ### RETURNHIST This option is used to return the gift card usage history. See the [Gift Card Balance](/apis/payments-platform-rest/openapi/gift-cards/balance) section for more details.