FreedomPay doesn't natively connect to Twilio for voice payments. If you want to process FreedomPay 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 FreedomPay (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction.
This matters most for the businesses FreedomPay serves best: enterprise hospitality, food service, retail, and stadium groups that have already standardised on the FreedomPay Commerce Platform for in-store payments. Reservations desks, central booking lines, and guest services teams take payments over the phone every day. Connecting FreedomPay to Twilio extends the same platform, the same acquiring relationships, and the same reporting to those calls, without adding a separate phone-payments vendor.
This guide walks through how the integration works, how to set it up, and what to watch for.
Why FreedomPay + Twilio Don't Connect Directly
FreedomPay is an enterprise commerce platform with a heritage in PCI-validated point-to-point encryption (P2PE). It is strongest where large, multi-location merchants need one payment layer across in-store terminals, kiosks, online checkout, and mobile: hotels, restaurant groups, retailers, stadiums, and venues. Its platform connects those merchants to their chosen acquirers and tokenises cards for reuse across channels.
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. FreedomPay isn't one of Twilio's built-in connectors, so there is 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 FreedomPay for processing. One integration connects the two platforms.
How It Works
Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → FreedomPay (processing) → Result
Caller reaches payment step. Your Twilio call flow (IVR or custom TwiML) triggers the
<Pay>verb.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.
Shuttle receives card data. The data passes from Twilio's PCI-compliant environment directly to Shuttle's connector. It never touches your servers.
Shuttle charges the card via FreedomPay. The connector submits the transaction to the FreedomPay Commerce Platform, which processes it through your existing merchant configuration and acquiring relationships, then returns the response.
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 FreedomPay account with API credentials (Store ID, Terminal ID, and an Enhanced Security Key from FreedomPay's Enterprise Portal)
A Shuttle account (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 FreedomPay Credentials to Shuttle
Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:
Gateway: FreedomPay
Store ID: Supplied by FreedomPay's boarding team
Terminal ID: Supplied by FreedomPay's boarding team
Enhanced Security Key: Generated in FreedomPay's Enterprise Portal
Currency: Set your default (USD, GBP, EUR, etc.)
Environment: Live or Test (UAT)
Save the profile. Shuttle now has a live connection to your FreedomPay account. Keep UAT and production credentials separate: a test Store ID or Terminal ID will not work in live mode, and vice versa.
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="185.00"
currency="USD"
description="Reservation deposit"
action="/payment-complete">
</Pay>
</Response>Key parameters:
paymentConnector: set toshuttle-pay-connectorchargeAmount: the amount to chargecurrency: ISO currency codeaction: 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": "FREEDOMPAY-REF-123...",
"ProfileId": "your-shuttle-profile-id"
}Use the PaymentConfirmationCode to look up the transaction in FreedomPay's reporting if needed. Update your booking or order, confirm to the caller, and continue the flow.
Step 5: Test
Use FreedomPay's UAT environment with your test Store ID, Terminal ID, and Enhanced Security Key to verify the flow end-to-end before going live. FreedomPay provides test card details for the UAT environment through its developer resources.
What You Can Do With FreedomPay + Twilio
Charge Immediately
Standard auth-and-capture. The caller pays, FreedomPay processes, done. Ideal for guest services teams settling a balance or taking a walk-in booking payment.
Authorise Now, Capture Later
Place a hold on the card during the call and capture later. This fits hospitality workflows naturally: authorise a deposit when the reservation is made over the phone, capture at check-in or after the stay.
Tokenise for Future Use
Capture card details once over the phone. Shuttle tokenises the card with FreedomPay and returns FreedomPay's reusable token, so you can charge the same guest again across any channel: web, mobile, voice, or payment links. For hotel and restaurant groups already using FreedomPay's tokenisation in-store, this closes the loop: the phone channel joins the same card-on-file strategy, and the card data is never stored in your systems.
One Platform Across Every Location
Large groups run many properties, sites, or venues on FreedomPay. Shuttle payment profiles can map voice payments to the right store and terminal configuration, so central booking lines and individual properties both settle into the correct merchant setup.
Multi-PSP: Beyond FreedomPay
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: put the merchants in one region on FreedomPay and another region 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 BPOs and outsourced contact centres serving hospitality and retail clients. One client may be on FreedomPay, another on a different gateway, and both run through the same Twilio integration.
PCI Compliance
The FreedomPay + Twilio integration via Shuttle limits your PCI scope:
Layer | PCI handled by |
|---|---|
Secure DTMF capture | Twilio |
Card data processing | Shuttle (PCI DSS Level 1) |
Payment processing | FreedomPay (PCI-validated platform) |
Your systems | No card data on your systems: SAQ-A for merchants, SAQ-D for platforms |
Card data flows from Twilio to Shuttle to FreedomPay. Your application only receives redacted data (last 4 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. This mirrors the scope-reduction logic FreedomPay merchants already apply in-store with P2PE: keep sensitive data out of your systems entirely.
For the full picture on PCI compliance with Twilio, see Twilio PCI Compliance: Payments Without Handling Card Data.
FAQ
Can I connect FreedomPay to Twilio without Shuttle? Twilio doesn't have a built-in FreedomPay 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, PCI-certified connector.
We run multiple properties on FreedomPay. Can voice payments route to the right one? Yes. Create a Shuttle payment profile per store and terminal configuration, and route each call flow (or each client, for BPOs) to the correct profile.
What about FreedomPay's test environment? Fully supported. Use your UAT Store ID, Terminal ID, and Enhanced Security Key in a Shuttle test profile and verify 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. FreedomPay's platform and processing fees apply on top per your agreement.
Can I switch from FreedomPay 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.
Related Reading
Twilio Pay Connectors: How to Connect Any Compatible Payment Gateway: the complete guide to Twilio Pay Connectors and multi-PSP routing
Twilio PCI Compliance: Payments Without Handling Card Data: how to keep your PCI scope limited
How to Connect Stripe to Twilio for Voice Payments: step-by-step Stripe + Twilio setup
How to Connect Adyen to Twilio for Voice & IVR Payments: step-by-step Adyen + Twilio setup
AI Voice Payments for Hotels & Travel: voice payments across reservations, guest services, and OTAs
FreedomPay: FreedomPay on Shuttle, supported features and setup
Twilio Pay: Connect Any Compatible Payment Gateway to Twilio: all supported gateways, pricing, and setup
Connect FreedomPay 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.