Fat Zebra doesn't natively connect to Twilio for voice payments. If you want to process Fat Zebra 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 Fat Zebra (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction.
For Australian businesses the fit is particularly strong. Twilio's <Pay> is available in the Australia (AU1) Twilio region, and Shuttle is one of the connectors Twilio's docs list for AU1. That means an Australian utility, insurer, or collections team can capture card details over the phone with Australian data residency on the Twilio side, and process them in AUD through a local gateway on the Fat Zebra side.
This guide walks through how the integration works, how to set it up, and what to watch for.
Why Fat Zebra + Twilio Don't Connect Directly
Fat Zebra is an Australian payment gateway built for online commerce. Its REST API handles card processing, tokenisation, card-on-file payments, and digital wallets, and it serves over 100,000 Australian merchants.
Twilio is built for voice and messaging. Its <Pay> verb captures card details during phone calls via DTMF keypad input, with tones suppressed so agents never hear them.
The problem: Twilio's <Pay> needs a Pay Connector to route captured card data to a payment gateway. Fat Zebra isn't one of Twilio's built-in connectors, so there's no native path between the two.
This is where Shuttle comes in. As Twilio's official payment partner, Shuttle provides a Pay Connector that accepts card data from Twilio's <Pay> verb and routes it to Fat Zebra's API for processing. One integration connects the two platforms, and because Shuttle's connector is listed for Twilio's AU1 region, the whole flow can run in Australia.
How It Works
`` Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → Fat Zebra (processing) → Result ``
Caller reaches payment step. Your Twilio call flow (IVR, Studio, or custom TwiML) triggers the
<Pay>verb.Card details captured via DTMF. The caller enters their card number, expiry, and CVV on the keypad. Tones are suppressed from the agent audio and call recordings.
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 Fat Zebra. The connector creates a Fat Zebra purchase request, processes the transaction through your Fat Zebra merchant account, and handles the response.
Result returned to your call flow. Your webhook receives the Fat Zebra transaction reference, last four digits, card brand, and transaction status. The call continues.
The entire flow happens in seconds. The caller stays on the line. No redirects, no "please visit our website."
Step-by-Step Setup
Prerequisites
A Twilio account with voice capability (the AU1 region if you need Australian data residency)
A Fat Zebra account with API credentials (username + API token)
A Shuttle account (free to create, you pay per transaction)
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 Fat Zebra Credentials to Shuttle
Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:
Gateway: Fat Zebra
Username: Your Fat Zebra API username
Token: Your Fat Zebra API token
Currency: AUD (or another supported currency)
Environment: Live or Test
Save the profile. Shuttle now has a live connection to your Fat Zebra account.
Step 3: Configure Your Twilio Call Flow
Add the <Pay> verb to your TwiML or Twilio Studio flow:
``xml <Response> <Say>Please enter your card number followed by the hash key.</Say> <Pay paymentConnector="shuttle-pay-connector" chargeAmount="86.50" currency="AUD" description="Account payment" action="/payment-complete"> </Pay> </Response> ``
Key parameters:
paymentConnector: set toshuttle-pay-connectorchargeAmount: the amount to chargecurrency: ISO currency code (AUD for Australian processing)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:
``json { "Result": "success", "PaymentCardNumber": "xxxx-xxxx-xxxx-1234", "PaymentCardType": "visa", "PaymentConfirmationCode": "FZ-TXN-REF-123...", "ProfileId": "your-shuttle-profile-id" } ``
Use the PaymentConfirmationCode to look up the transaction in Fat Zebra if needed. Update your account records, confirm to the caller, and continue the flow.
Step 5: Test
Fat Zebra provides a test environment with test card numbers, so you can verify the flow end-to-end before going live. Use your Fat Zebra test credentials in the Shuttle payment profile, run a call through your Twilio flow, and confirm the transaction appears in the Fat Zebra dashboard.
What You Can Do With Fat Zebra + Twilio
Charge Immediately
Standard purchase flow. The caller pays, Fat Zebra processes in AUD, done. This is the pattern most Australian contact centres need: utilities taking bill payments, insurers collecting premiums, and collections teams settling arrears on the call.
Tokenise for Future Use
Capture card details once over the phone. Shuttle tokenises the card via Fat Zebra's card-on-file capability and returns a reusable token. Use it for future payments across any channel: web, mobile, voice, or payment links. The card data is never stored in your systems.
Payment Plans and Recurring Collections
Tokenise on the first call, then charge the stored card on a schedule. For BPOs and collections teams, this turns a single agent-assisted call into an ongoing payment arrangement without ever re-capturing card details.
AI Voice Agents
The same connector works when an AI voice agent, rather than a human, handles the call. The agent hands off to <Pay> at the payment step, the caller keys in their card, and Fat Zebra processes the transaction.
Multi-PSP: Beyond Fat Zebra
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: route Australian transactions to Fat Zebra and overseas transactions to a local acquirer in each market
**Serve enterprise customers** who mandate a specific PSP (Stripe, Adyen, Worldpay, etc.)
Need failover: if one gateway is down, automatically route to a backup
Expand beyond Australia where a different acquirer gives better authorisation rates
You configure routing rules in Shuttle's dashboard. Your Twilio call flow doesn't change. The <Pay> verb always points to shuttle-pay-connector, and Shuttle handles which gateway processes the transaction.
This matters for platforms and BPOs that serve multiple merchants. Each merchant can use their own Fat Zebra account (or any other gateway) through the same Twilio integration.
PCI Compliance
The Fat Zebra + Twilio integration via Shuttle keeps you completely out of PCI scope:
Layer | PCI handled by |
|---|---|
DTMF capture & suppression | Twilio |
Card data processing | Shuttle (PCI DSS Level 1) |
Payment processing | Fat Zebra |
Your systems | No card data, SAQ-A |
Card data flows from Twilio → Shuttle → Fat Zebra. Your application only receives redacted data (last 4 digits, card brand, transaction reference). You qualify for SAQ-A, the lightest PCI self-assessment.
For the full picture on PCI compliance with Twilio, see Twilio PCI Compliance: Payments Without Handling Card Data.
FAQ
Can I connect Fat Zebra to Twilio without Shuttle? Twilio doesn't have a built-in Fat Zebra 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 that handles this.
Does this work in Twilio's Australia (AU1) region? Yes. Twilio's <Pay> is available in the AU1 region, and Shuttle is one of the connectors Twilio lists for AU1. Combined with Fat Zebra's Australian processing, the full payment path suits businesses with Australian data residency requirements.
What credentials do I need from Fat Zebra? Your Fat Zebra API username and API token. Enter them in your Shuttle payment profile and the connection is live. No development work on the Fat Zebra side.
Does Fat Zebra's test environment work with this? Yes. Use your Fat Zebra test credentials in Shuttle and test the full flow with Twilio before going live.
What does it cost? Shuttle charges $0.20 per successful transaction. Fat Zebra's standard processing fees apply on top. No Shuttle setup fees or monthly minimums.
Can I switch from Fat Zebra to another gateway later? Yes. Change the gateway in your Shuttle payment profile. Your Twilio call flow stays exactly the same, no code changes needed.
Related Reading
Twilio Pay Connectors: How to Connect Any 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 at SAQ-A
How to Connect Stripe to Twilio for Voice Payments: step-by-step Stripe + Twilio setup
How to Connect NAB to Twilio for Voice Payments: the other Australian gateway option for Twilio voice payments
Payment Collection for BPOs: multi-client payment collection for outsourced contact centres
Fat Zebra: everything Shuttle supports on Fat Zebra
Twilio Pay: Connect Any Payment Gateway to Twilio: all supported gateways, pricing, and setup
*Connect Fat Zebra to Twilio in minutes with Shuttle's Pay Connector: PCI DSS Level 1, $0.20/transaction, no setup fees. Install on Twilio or book a discovery call.*