How to Connect Shift4 to Twilio for Voice & IVR Payments

By Shuttle Team, June 9, 2026

Shift4 doesn't natively connect to Twilio for voice payments. If you want to process Shift4 transactions during a phone call (via IVR, agent-assisted, or AI voice agent) you need a Twilio Pay Connector that bridges the two platforms.

Shuttle's Pay Connector does exactly this. It connects Shift4 (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction.

For hospitality groups, hotel chains, and restaurant brands already running Shift4 at the point of sale, this closes an obvious gap: the phone. Reservation deposits, central booking lines, group bookings, and pre-authorisations can all run through the same Shift4 account that powers your in-person payments.

This guide walks through how the integration works, how to set it up, and what to watch for.


Why Shift4 + Twilio Don't Connect Directly

Shift4 is a US payments company built for end-to-end processing in the experience economy. Its technology powers a large share of table-service restaurants and hotels in the United States, along with stadiums, casinos, and entertainment venues. The stack runs from POS software through to acquiring, with card data tokenised inside Shift4's environment.

Twilio is built for voice and messaging. Its <Pay> verb captures card details during phone calls via DTMF keypad input, so the digits never reach the agent or the call recording.

The problem: Twilio's <Pay> needs a Pay Connector to route captured card data to a payment gateway. Shift4 isn't one of Twilio's built-in connectors, so there's no native path between the two platforms.

This is where Shuttle comes in. Shuttle provides a Pay Connector that accepts card data from Twilio's <Pay> verb and routes it to Shift4's API for processing. One integration connects the two platforms.


How It Works

Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → Shift4 (processing) → Result
  1. Caller reaches payment step. Your Twilio call flow (IVR or custom TwiML) triggers the <Pay> verb. For a hotel booking line, that might be the moment a reservation deposit is due.

  2. Card details captured via DTMF. The caller enters their card number, expiry, and CVV on the keypad. The digits never reach the agent or the call recording.

  3. Shuttle receives card data. The data passes from Twilio's PCI-compliant environment directly to Shuttle's connector. It never touches your servers.

  4. Shuttle charges the card via Shift4. The connector creates a payment request against your Shift4 account, sends it to Shift4 for processing, and handles the response.

  5. Result returned to your call flow. Your webhook receives the transaction reference, last four digits, card brand, and status. The call continues.

The caller stays on the line. No redirects, no "please visit our website."


Step-by-Step Setup

Prerequisites

  • A Twilio account with voice capability

  • A Shift4 account with API credentials (Shift4 issues a secret API key, with separate test-mode and live-mode key pairs)

  • A Shuttle account (free to create; see pricing)

Step 1: Install Shuttle's Pay Connector

Go to the Twilio Marketplace and install the Shuttle Pay Connector. This adds Shuttle as an available connector in your Twilio account's Pay configuration.

Step 2: Add Shift4 Credentials to Shuttle

Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:

  • Gateway: Shift4

  • API key: Your Shift4 secret key

  • Currency: Set your default (USD, GBP, EUR, etc.)

  • Environment: Live or Test

Save the profile. Shuttle now has a live connection to your Shift4 account.

Step 3: Configure Your Twilio Call Flow

Add the <Pay> verb to your TwiML:

<Response>
  <Say>Please enter your card number followed by the hash key.</Say>
  <Pay paymentConnector="shuttle-pay-connector"
       chargeAmount="150.00"
       currency="USD"
       description="Reservation deposit"
       action="/payment-complete">
  </Pay>
</Response>

Key parameters:

  • paymentConnector: set to shuttle-pay-connector

  • chargeAmount: the amount to charge

  • currency: ISO currency code

  • action: your webhook endpoint for the payment result

Step 4: Handle the Payment Result

Twilio sends a POST to your action URL with the payment result:

{
  "Result": "success",
  "PaymentCardNumber": "xxxx-xxxx-xxxx-1234",
  "PaymentCardType": "visa",
  "PaymentConfirmationCode": "SHIFT4-CHARGE-REF-123...",
  "ProfileId": "your-shuttle-profile-id"
}

Use the PaymentConfirmationCode to look up the transaction in Shift4 if needed. Update your booking or order, confirm to the caller, and continue the flow.

Step 5: Test

Use Shift4's test mode (with your test-mode API key in Shuttle) to verify the flow end-to-end before going live. Run at least one full call: capture, charge, webhook, confirmation.


What You Can Do With Shift4 + Twilio

Charge Immediately

Standard auth-and-capture. The caller pays, Shift4 processes, done. Ideal for taking a balance payment on a booking line or settling an invoice by phone.

Authorise Now, Capture Later

Place a hold on the card during the call and capture later. This suits hotels and venues especially well: take a pre-authorisation for a reservation or event deposit on the call, then capture at check-in or after the event.

Tokenise for Future Use

Capture card details once over the phone. Shuttle tokenises the card via Shift4 and returns a reusable token. Use it for future payments across any channel: web, mobile, voice, or payment links. A guest who books by phone can settle incidentals or repeat bookings later without reading their card out again, and the card data is never stored in your systems.

Central Reservations Across Properties

Hotel groups and restaurant brands often run a central booking line that takes payments on behalf of multiple properties. Shuttle's payment profiles let each property run on its own Shift4 configuration, so the central team works one call flow.


Multi-PSP: Beyond Shift4

One of the key advantages of using Shuttle rather than a single-gateway connector is flexibility. Your Twilio integration stays the same even if you:

  • Add a second gateway: keep your US merchants on Shift4 and put European properties on a local acquirer

  • Serve enterprise customers who mandate a specific PSP (Stripe, Worldpay, Checkout.com, etc.)

  • Want a backup gateway: if one gateway has an outage, you can move the affected payment types to another connected gateway. There is no automatic failover, and saved cards stay with the gateway that stored them, so repeat payments on stored cards will not run through the second one

  • Expand to new markets, with each merchant or entity there on its own gateway

You choose which connected provider handles each payment type in Shuttle’s dashboard. Your Twilio call flow doesn't change. The <Pay> verb always points to shuttle-pay-connector, and Shuttle sends the payment to the provider you configured.

This is particularly useful for platforms and BPOs that serve multiple merchants. Each merchant can use their own Shift4 account (or another supported voice gateway) through the same Twilio integration.


PCI Compliance

The Shift4 + Twilio integration via Shuttle limits your PCI scope:

Layer

PCI handled by

DTMF capture

Twilio

Card data processing

Shuttle (PCI DSS Level 1 Service Provider)

Payment processing

Shift4

Your systems

Merchants: SAQ-A. Platforms: SAQ-D.

Card data flows from Twilio to Shuttle to Shift4. Your application only receives redacted data (last four digits, card brand, transaction reference). Merchants complete SAQ-A, the lightest PCI self-assessment; platforms complete SAQ-D. Everyone taking card payments has to be PCI compliant, and your acquirer confirms which form applies to you.

For the full picture on PCI compliance with Twilio, see Twilio PCI Compliance: Payments Without Handling Card Data.


FAQ

Can I connect Shift4 to Twilio without Shuttle? Twilio doesn't have a built-in Shift4 Pay Connector. You'd need to build a custom connector using Twilio's Generic Pay Connector framework, which means handling PCI compliance for card data processing yourself. Shuttle provides a pre-built connector that is PCI DSS Level 1 certified.

Does this work alongside my Shift4 POS? Yes. The connector processes voice payments through your Shift4 account via its API. Your in-person POS setup is unaffected, and phone transactions appear in Shift4 reporting alongside the rest of your volume.

What about Shift4's test mode? Fully supported. Shift4 provides separate test-mode API keys. Add your test key to a Shuttle payment profile and run the full flow with Twilio before going live.

What does it cost? Shuttle charges $49 per live instance per month, plus from $0.20 per transaction, falling with volume, billed through your Twilio account. Shift4's processing fees apply on top per your agreement.

Can I switch from Shift4 to another gateway later? Yes. Change the gateway in your Shuttle payment profile. Your Twilio call flow stays exactly the same, with no code changes needed. Saved cards stay with the gateway that stored them, so repeat payments on stored cards will not move to the new gateway.



Connect Shift4 to Twilio with Shuttle's Pay Connector: PCI DSS Level 1, $49 per live instance per month, plus from $0.20 per transaction, falling with volume, billed through your Twilio account. Install on Twilio or book a discovery call.

Take payments over the phone

Card capture for contact centres, IVR flows and AI voice agents, connected to 30+ payment gateways including Stripe, Adyen, and Worldpay Access.

Book a Call