# Shift4 Payment API Version: 1.7.43 ## Servers Host Direct Test URL ``` https://api.shift4test.com/api/rest/v1 ``` Host Direct Production URL ``` https://api.shift4api.net/api/rest/v1 ``` ## Security ### AccessToken A security credential used to authenticate API requests and all [i4Go®](https://s4-myportal.s3.amazonaws.com/downloads/documentation/i4go/i4go%20technical%20reference%20guide.pdf) authorizeClient/preauthorizeClient requests. An Access Token is the alias for the merchant account and interface being used. Example: ``` AccessToken: EA79FB05-3AA7-4500-AF9A-73F986FF2C1D ``` Type: apiKey In: header Name: AccessToken ### HMAC-SHA256 Authentication using HMAC-256 signatures as the authorization scheme. Sent in the `Authorization` header in the following format: `Authorization`: **HMAC-SHA256** `Credential`={value}&`Signature`={value} | Argument | Description | |---------------|--------------------------------------------------| | HMAC-SHA256 | Authorization scheme. | | Credential | The ID of the key used to compute the signature. | | Signature | base64 encoded HMACSHA256 value. | Example: ``` Authorization: HMAC-SHA256 Credential=AESKEY1&Signature=8SFtIc6zQlswxAZqDKXL+BpRmlDvIWyjOwU8wdl0zK4= ``` Type: http Scheme: hmac-sha256 ## Download OpenAPI description [Shift4 Payment API](https://docs.shift4.com/_spec/apis/payments-platform-rest/openapi.yaml) ## Credentials ### Access Token Exchange - [POST /credentials/accesstoken](https://docs.shift4.com/apis/payments-platform-rest/openapi/credentials/accesstokenexchange.md): This function is used to request exchanging a Client GUID and Auth Token for an Access Token. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Transactions ### Authorization - [POST /transactions/authorization](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/transactionsauthorization.md): Used to request processor approval for an authorization. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 will request approval for the additional amount only. If approved, an updated transaction will be displayed in Lighthouse Transaction Manager. This step does NOT close and capture the funds, only authorizes the payment request. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Capture - [POST /transactions/capture](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/transactionscapture.md): Used to close out an existing authorization request. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 will request approval for the additional amount only. If approved, the authorization will be converted to a sale transaction and be ready to be batched. For Restaurant industry, review Restaurant Authorization and Settlement Flow - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. Please note that if you are tokenzing your credit card information outside of Shift4, authorizing and capturing a payment is not available unless you store the tokenized value from Shift4 from an authorized payment request and use this token in the subsequent capture request. ### Sale/Purchase - [POST /transactions/sale](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/transactionssale.md): Used to request processor approval for an authorization and capture in one request. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 will request approval for the additional amount only. If approved, a new sale transaction will be displayed in Lighthouse Transaction Manager and be ready to be batched. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Refund - [POST /transactions/refund](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/refund.md): This function can be used to refund a transaction for either the full or a partial amount. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Invoice Information - [GET /transactions/invoice](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/getinvoice.md): 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. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Void - [DELETE /transactions/invoice](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/void.md): Used to void and reverse an invoice. This will attempt to reverse the transaction with the processor and will mark the transaction as voided in Shift4's Gateway. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Manual Authorization - [POST /transactions/manualauthorization](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/manualauthorization.md): This function is used to request authorization in an offline scenario, which means that Shift4 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. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Manual Sale - [POST /transactions/manualsale](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/manualsale.md): This function is used to request authorization and a sale in an offline scenario, which means that Shift4 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. For Restaurant industry, review Restaurant Authorization and Settlement Flow - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Upload Signature - [POST /transactions/signature](https://docs.shift4.com/apis/payments-platform-rest/openapi/transactions/postsignature.md): This function is used to upload the captured signature to an existing invoice in Shift4's Gateway. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Tokens ### TokenStore Add - [POST /tokens/add](https://docs.shift4.com/apis/payments-platform-rest/openapi/tokens/tokensadd.md): This function requests that CHD be added to the Global Token Vault and that a card token be returned for future use. This function cannot be used for EMV processing. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### TokenStore Duplicate - [POST /tokens/duplicate](https://docs.shift4.com/apis/payments-platform-rest/openapi/tokens/tokensduplicate.md): This function requests that a new card token be generated using an existing card token. This request can be used to deposit a card token 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 Lighthouse Transaction Manager account. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### TokenStore Delete - [POST /tokens/delete](https://docs.shift4.com/apis/payments-platform-rest/openapi/tokens/tokensdelete.md): This function requests that a token be deleted from the TrueToken vault. This process is irreversible. Once the token is deleted, there is no way to recover it. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Universal Token - [GET /tokens/universaltoken](https://docs.shift4.com/apis/payments-platform-rest/openapi/tokens/tokensuniversaltoken.md): This function requests that the existing universal token for a card be returned. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Get Four Words - [POST /tokens/4words](https://docs.shift4.com/apis/payments-platform-rest/openapi/tokens/tokens4words.md): This function is used to generate a unique combination of four words that can be used to reference cardholder data (CHD). - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Merchants ### Merchant Information - [GET /merchants/merchant](https://docs.shift4.com/apis/payments-platform-rest/openapi/merchants/merchantsmerchant.md): Used to request information about the merchant. - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Gift Cards ### Activate - [POST /giftcards/activate](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/activate.md): This function requests that a new gift card be activated for use or that a new gift card be loaded with funds. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Allocate - [POST /giftcards/allocate](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/allocate.md): This function requests that a new gift card be allocated for use under a specific Program ID. The new card will be generated during the request and activated with the requested amount. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Deactivate - [POST /giftcards/deactivate](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/deactivate.md): This function requests that an active gift card be deactivated so that it can’t be used to process transactions. A balance will remain on the gift card (if supported by the processor). If you want to return the card's current balance back to the customer, use the Cashout endpoint instead. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Cashback - [POST /giftcards/cashback](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/cashback.md): This function requests that an active gift card be deactivated so that it can’t be used to process transactions. Any current balance is removed from the card so that the funds can be returned to the consumer as cash. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Reactivate - [POST /giftcards/reactivate](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/reactivate.md): 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. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Reload - [POST /giftcards/reload](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/reload.md): This function requests that an active gift card be loaded with additional funds. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Balance - [POST /giftcards/balance](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/balance.md): 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. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Cancel - [POST /giftcards/cancel](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/cancel.md): This function attempts to undo the last /giftcards/* request that was made against a gift card or private label card. For example, an Activate or Reload request may eligible for cancellation. Some processors do not support this functionality. This endpoint cannot be used to cancel a sale or authorization against a gift card - the Void request should be used for that scenario. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Cashout (deprecated) - [POST /giftcards/cashout](https://docs.shift4.com/apis/payments-platform-rest/openapi/gift-cards/cashout.md): This function requests that an active gift card be deactivated so that it can’t be used to process transactions. Any current balance is removed from the card so that the funds can be returned to the consumer as cash. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ## Cards ### Verify Card with Processor - [POST /cards/verify](https://docs.shift4.com/apis/payments-platform-rest/openapi/cards/cardsverify.md): 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. To process an Account Name Inquiry request the API Option and must be sent in the request. and are optional. Account Name Inquiry requests are currently limited to Visa cards. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Identify Card Type - [POST /cards/identify](https://docs.shift4.com/apis/payments-platform-rest/openapi/cards/cardsidentify.md): This function is used to request and return the card type. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ## Devices ### Request Signature - [POST /devices/promptsignature](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicessignatures.md): This function is used to request a prompt for signature on a UTG or Commerce Engine controlled PIN pad and returns the signature. - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Prompt Confirmation - [POST /devices/promptconfirmation](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicespromptconfirmation.md): This function is used to display text for a consumer’s confirmation on a UTG-controlled PIN pad. - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Prompt Terms and Conditions - [POST /devices/termsandconditions](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicestermsandconditions.md): This function is used to display terms and conditions for a consumer to accept or decline on a UTG-controlled PIN pad. - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Display Line Items - [POST /devices/lineitems](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/deviceslineitems.md): This function is used to display up to 10 line items on a UTG-controlled PIN pad. In additional Display Line Items requests, if the API Option APPENDLINEITEM is sent, the UTG will append the new line item(s) to the existing line item(s) displayed. - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Clear Line Items - [DELETE /devices/lineitems](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesdeletelineitems.md): This function is used to clear the line items displayed on a UTG-controlled PIN pad. - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Device Information - [GET /devices/info](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesinfo.md): This function is used to request information regarding the status of a specific UTG-controlled PIN pad. 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. - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Initialize Readers - [POST /devices/initializereaders](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesinitializereaders.md): This function is used to request a card swipe, insert, tap (if applicable), etc. on a UTG-controlled PIN pad before an Authorization or Sale/Purchase request. - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Reset Device - [POST /devices/reset](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesreset.md): 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 this request will cancel the request. - Locally Installed UTG - Commerce Engine For On Premise See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Prompt Card Read - [POST /devices/promptcardread](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicespromptcardread.md): This function is used to prompt a P2PE-enabled, Commerce Engine or 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 or the processor. - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Prompt for Input - [POST /devices/promptinput](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicespromptinput.md): 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 field. Each request will collect one specified value; when multiple values need to be collected, separate requests must be sent. - Commerce Engine For On Premise - Commerce Engine For Cloud - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Display Custom Form - [POST /devices/processform](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesprocessform.md): This function is used to display a custom form and text for a consumer’s input on a Commerce Engine or UTG controlled PIN pad. - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Print Receipts - [POST /devices/print](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesprint.md): This function is used to print a receipt using a device’s built-in printer. The receipt may include a scannable bar code. - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Get Device Status - [POST /devices/getstatus](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesgetstatus.md): This function is used to get the status of the device. - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Prompt Tip - [POST /devices/prompttip](https://docs.shift4.com/apis/payments-platform-rest/openapi/devices/devicesprompttip.md): This function is used to prompt for tip outside of a payment transaction. - Commerce Engine For On Premise - Commerce Engine For Cloud See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Reports ### Totals Report - [GET /reports/batchtotals](https://docs.shift4.com/apis/payments-platform-rest/openapi/reports/reportsbatchtotals.md): This function is used to request a simple totals report for automated analysis. It does not supersede the standard auditing and reporting tools that are included with Shift4’ products. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Batches ### Submit Batch - [POST /batches/submit](https://docs.shift4.com/apis/payments-platform-rest/openapi/batches/batchessubmit.md): This function is used to close a batch. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## QR Payments ### Get QR Code - [POST /qrpayments/getqrcode](https://docs.shift4.com/apis/payments-platform-rest/openapi/qr-payments/getqrcode.md): This endpoint is used to obtain a transaction based QR code. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Get QR Details - [POST /qrpayments/getqrdetails](https://docs.shift4.com/apis/payments-platform-rest/openapi/qr-payments/getqrdetails.md): This endpoint is used to get detailed information for a transaction based QR code. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Get QR Payment Status - [POST /qrpayments/getqrpaymentstatus](https://docs.shift4.com/apis/payments-platform-rest/openapi/qr-payments/getqrpaymentstatus.md): This endpoint is used to poll for the status of the QR code payment. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Cancel QR Payment - [POST /qrpayments/cancelqrpayment](https://docs.shift4.com/apis/payments-platform-rest/openapi/qr-payments/cancelqrpayment.md): This endpoint is used to cancel a QR code payment. If the payment was already processed the transaction will be reversed. If the payment has not yet processed it will prevent the QR code from being used to process a payment. - Host Direct - Locally Installed UTG See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Mode ### Go Offline - [POST /mode/offline](https://docs.shift4.com/apis/payments-platform-rest/openapi/mode/modeoffline.md): This function is used to put UTG/Commerce Engine into offline mode. UTG/Commerce Engine will be configured to set a maximum duration for how long it will stay in offline mode in order to prevent UTG/Commerce Engine from staying offline indefinitely if the Interface Vendor does not send the go online request. Note: To utilize this feature with UTG, you must be running UTG version 3080 or later. UTG can be configured to disable this feature, which will prevent the API request from putting UTG into offline mode. - Locally Installed UTG - Commerce Engine For On Premise See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Go Online - [POST /mode/online](https://docs.shift4.com/apis/payments-platform-rest/openapi/mode/modeonline.md): This function is used to bring UTG/Commerce Engine out of offline mode after putting UTG/Commerce Engine into offline mode via the Go Online request. Note: To utilize this feature with UTG, you must be running UTG version 3080 or later. - Locally Installed UTG - Commerce Engine For On Premise See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## Risk ### Risk Assess - [POST /risk/assess](https://docs.shift4.com/apis/payments-platform-rest/openapi/risk/riskassess.md): Used to check the level of risk before processing a transaction. Risk assessment returns four possible values: approve, deny, escalate and review. If the risk transaction is approved or review, you will be able to make a payment call with the risk assessment, risk id and transaction id you get in response. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ## PayPal ### PayPal Initiate - [POST /paypal/initiate](https://docs.shift4.com/apis/payments-platform-rest/openapi/paypal/paypalinitiate.md): This request initiates a PayPal transaction. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### PayPal Sale Transaction - [POST /paypal/sale](https://docs.shift4.com/apis/payments-platform-rest/openapi/paypal/paypalsale.md): This authorizes and captures the transaction. In addition, it will return a payload that includes the transaction's sale details. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### PayPal Refund Transaction - [POST /paypal/refund](https://docs.shift4.com/apis/payments-platform-rest/openapi/paypal/paypalrefund.md): This refunds a settled transaction. In addition, it will return a payload that includes the transaction’s refund details. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## 3D Secure ### 3D Secure Standalone - [POST /3dsecure/standalone](https://docs.shift4.com/apis/payments-platform-rest/openapi/3d-secure/3dsecurestandalone.md): This function is used to process a request via the 3D Secure process without authorizing the payment. This will return the result of the 3D Secure process as well as the 3D Secure data that can then be used to process a payment via the Authorization or Sale/Purchase endpoint. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### 3D Secure Completion - [POST /3dsecure/completion](https://docs.shift4.com/apis/payments-platform-rest/openapi/3d-secure/3dsecurecompletion.md): This endpoint is utilized to send the status of the device fingerprint. This must be sent whenever the response to the 3D Secure Standalone results in a device fingerprint required. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## OCT ### OCT Payout - [POST /oct/payout](https://docs.shift4.com/apis/payments-platform-rest/openapi/oct/octpayout.md): Used to process an original credit transaction to transfer funds from the merchant to the recipient. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### OCT Update Recipient - [POST /oct/updaterecipient](https://docs.shift4.com/apis/payments-platform-rest/openapi/oct/octupdaterecipient.md): Used to update the OCT recipient email address. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## ACH ### ACH Verify - [POST /ach/verify](https://docs.shift4.com/apis/payments-platform-rest/openapi/ach/achverify.md): Used to verify an ach bank account prior to sending an ACH sale/refund transaction. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### ACH Sale - [POST /ach/sale](https://docs.shift4.com/apis/payments-platform-rest/openapi/ach/achsale.md): Used to process an ach sale transaction. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### ACH Refund - [POST /ach/refund](https://docs.shift4.com/apis/payments-platform-rest/openapi/ach/achrefund.md): Used to process an ach refund transaction. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ### Create Plaid Link Token - [POST /ach/plaid/link_token/create](https://docs.shift4.com/apis/payments-platform-rest/openapi/ach/achplaidlinktokencreate.md): Used to create a Plaid Link token to use with the Plaid Link UI. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Plaid Public Token Exchange - [POST /ach/plaid/public_token/exchange](https://docs.shift4.com/apis/payments-platform-rest/openapi/ach/achplaidpublictokenexchange.md): Used to create a Plaid Link token to use with the Plaid Link UI. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Notification - [POST ach-notification](https://docs.shift4.com/apis/payments-platform-rest/openapi/ach/achnotification.md): This is an outbound HTTP POST message from the Shift4 gateway to the merchant's environment that provides status of the ach request. This notification request will be sent from Shift4 to the URL provided in the merchant's boarding configuration. This requires the interface vendor to establish a listening service to receive these requests. ## Updater ### Account Update - [POST /updater/request](https://docs.shift4.com/apis/payments-platform-rest/openapi/updater/updaterrequest.md): This function is used to request an account update for a set of tokens. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ### Account Update Status - [POST /updater/status](https://docs.shift4.com/apis/payments-platform-rest/openapi/updater/updaterstatus.md): This function is used to request a status update to a previous Account Update request for a set of tokens. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. ## DCC ### DCC Rate Lookup - [POST /dcc/ratelookup](https://docs.shift4.com/apis/payments-platform-rest/openapi/dcc/dccratelookup.md): Used to look up the dynamic currency conversion rate. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats. ## Rules ### Rule Verification - [POST /rules/verify](https://docs.shift4.com/apis/payments-platform-rest/openapi/rules/rulesverify.md): Used to check for various processing rules such as surcharge eligibility. - Host Direct See the Integration Methods and URLs Section sections of the Development Quick Start guide for details regarding each processing option. See the JSON Body Schemas for more details on the various JSON body formats.