ACI Speedpay doesn't natively connect to Twilio for voice payments. If you want to process Speedpay transactions during a phone call (via IVR self-service, 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 ACI Speedpay (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction.
This guide walks through how the integration works, how to set it up, and what to watch for.
Why ACI Speedpay + Twilio Don't Connect Directly
ACI Speedpay is ACI Worldwide's biller-direct payment solution, built for US organisations that collect bills at scale: utilities, insurers, lenders, healthcare providers, higher education, and government agencies. It handles one-off and recurring bill payments across web, mobile, IVR, and agent channels, with support for major card brands and ACH bank debits.
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. ACI Speedpay isn't one of Twilio's built-in connectors. Twilio's early changelogs referenced ACI among the first supported processors, but ACI appears in no current Twilio connector documentation, so there's no native path between the two platforms today.
This is where Shuttle comes in. Shuttle provides a Pay Connector that accepts card data from Twilio's <Pay> verb and routes it to ACI Speedpay for processing. One integration connects the two platforms.
For billers, that combination matters. Your customers already call to pay: overdue balances, instalments on a payment plan, a bill they'd rather settle with a person on the line. Connecting Speedpay to Twilio means those calls complete the payment then and there, in the same biller-direct rails you already use for web and mobile.
How It Works
Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → ACI Speedpay (processing) → Result
Caller reaches payment step. Your Twilio call flow (IVR or custom TwiML) triggers the
<Pay>verb. That might be a self-service bill-pay line or an agent transferring the caller into a secure payment step.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 ACI Speedpay. The connector creates a Speedpay payment request, processes the transaction through your ACI account, and handles the response.
Result returned to your call flow. Your webhook receives the confirmation reference, last four digits, card brand, and transaction 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
An ACI Speedpay account with API credentials supplied by ACI
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 ACI Speedpay Credentials to Shuttle
Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:
Gateway: ACI Speedpay
Credentials: The API credentials supplied by ACI
Currency: USD
Environment: Live or Test
Save the profile. Shuttle now has a live connection to your ACI Speedpay 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="86.50"
currency="USD"
description="Utility bill payment"
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": "SPEEDPAY-REF-123...",
"ProfileId": "your-shuttle-profile-id"
}Use the PaymentConfirmationCode to reconcile the transaction against the account or invoice in your billing system. Update the balance, confirm to the caller, and continue the flow.
Step 5: Test
Use your ACI test credentials in Shuttle and Twilio's test setup to verify the flow end-to-end before going live: successful payment, declined card, and caller abandonment mid-entry.
What You Can Do With ACI Speedpay + Twilio
IVR Self-Service Bill Payment
A fully automated pay-by-phone line. The caller enters their account number, hears the balance, and pays by card without ever speaking to an agent. This is the classic Speedpay use case, now running on your Twilio number.
Agent-Assisted Collections
An agent works a collections call, agrees an amount, and triggers the secure payment step. The digits never reach the agent, the screen or the recording. This is the standard pattern for debt collection agencies and any biller running an outbound recovery team.
Payment Plans and Recurring Collection
Capture card details once over the phone. Shuttle tokenises the card with ACI Speedpay and returns Speedpay's reusable token, so subsequent instalments on a payment plan run without another call. The same token works across web, mobile, voice, and payment links; the card data is never stored in your systems.
Follow Up by Text
If a caller can't pay in full on the call, send a payment link by SMS through the same Twilio account for the remaining balance. One conversation, multiple ways to settle.
Multi-PSP: Beyond ACI Speedpay
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 bill payments to Speedpay and other business lines to a different provider
Serve clients who mandate a specific PSP (Stripe, Worldpay, Checkout.com, etc.)
Want a backup gateway: if one gateway is unavailable, 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
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 collection teams that serve multiple billers. Each client can use their own Speedpay account (or any other compatible gateway) through the same Twilio integration.
PCI Compliance
The ACI Speedpay + 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 | ACI Speedpay |
Your systems | No card data on your systems: SAQ-A for merchants, SAQ-D for platforms |
Card data flows from Twilio to Shuttle to ACI Speedpay. Your application only receives redacted data (last four digits, card brand, confirmation 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. That matters for utilities, insurers, and lenders whose call centres would otherwise sit squarely in scope.
For the full picture on PCI compliance with Twilio, see Twilio PCI Compliance: Payments Without Handling Card Data.
FAQ
Can I connect ACI Speedpay to Twilio without Shuttle? ACI Speedpay isn't among Twilio's current built-in Pay Connectors. 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 DSS Level 1 certified connector.
Which payment methods does ACI Speedpay support through Shuttle? Card payments across the major brands (Visa, Mastercard, American Express, Discover, and more). ACI Speedpay also supports ACH bank debits for US merchants; see the ACI Speedpay gateway page for current coverage.
Is this US only? ACI Speedpay is a US-focused biller-direct solution, so the Speedpay side is US-centric.
Can I take payments on outbound collection calls? Yes. The <Pay> verb works on inbound and outbound calls alike, so outbound collections and payment-plan reminder calls can complete payment in the same call.
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. ACI Speedpay's fees apply on top per your agreement with ACI.
Can I switch from ACI Speedpay 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
Secure Payment Collection for Debt Agencies: compliant collections across voice, SMS, and links
Payment Collection for BPOs: multi-client payment routing for outsourced teams
Contact Centre Payments: the hub guide to taking payments on every contact centre platform
Twilio Pay: Connect Any Compatible Payment Gateway to Twilio: all supported gateways, pricing, and setup
Connect ACI Speedpay 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.