Authorize.net doesn't natively connect to Twilio for voice payments. If you want to process Authorize.net 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 Authorize.net (and 15+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction. Setup takes minutes.
This guide walks through how the integration works, how to set it up, and what to watch for.
Why Authorize.net + Twilio Don't Connect Directly
Authorize.net is one of the most widely deployed payment gateways in the US, powering hundreds of thousands of small and mid-size businesses. It handles card-present and card-not-present transactions, recurring billing, and eCheck processing.
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. Authorize.net isn't one of Twilio's built-in connectors — there's no native integration 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 Authorize.net's API for processing. One integration connects the two platforms.
How It Works
`` Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → Authorize.net (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 Authorize.net. The connector creates an Authorize.net transaction request, processes the payment, and handles the response.
Result returned to your call flow. Your webhook receives the Authorize.net transaction ID, last four digits, card brand, and transaction status. The call continues.
The entire flow happens in seconds. The caller stays on the line.
Step-by-Step Setup
Prerequisites
A Twilio account with voice capability
An Authorize.net account with API credentials (API Login ID + Transaction Key)
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 Authorize.net Credentials to Shuttle
Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:
Gateway: Authorize.net
API Login ID: Your Authorize.net API Login ID
Transaction Key: Your Authorize.net Transaction Key
Currency: Set your default (USD)
Environment: Live or Sandbox
Save the profile. Shuttle now has a live connection to your Authorize.net 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 pound key.</Say> <Pay paymentConnector="shuttle-pay-connector" chargeAmount="55.00" currency="USD" description="Service payment" action="/payment-complete"> </Pay> </Response> ``
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-3456", "PaymentCardType": "visa", "PaymentConfirmationCode": "AUTHNET-TXN-123...", "ProfileId": "your-shuttle-profile-id" } ``
Use the PaymentConfirmationCode to look up the transaction in Authorize.net's Merchant Interface.
Step 5: Test
Use Authorize.net's sandbox environment and Twilio's test credentials to verify the flow end-to-end. Authorize.net sandbox test card: 4111 1111 1111 1111 (Visa).
What You Can Do With Authorize.net + Twilio
Charge Immediately
Standard auth-and-capture. The caller pays, Authorize.net processes, done. Ideal for service payments, account top-ups, and bill pay.
Authorise Now, Capture Later
Place a hold on the card during the call. Capture the payment later via Authorize.net — useful for deposits or variable-amount transactions.
Tokenise for Future Use
Capture card details once over the phone. Shuttle tokenises the card via Authorize.net's Customer Information Manager (CIM) and returns a reusable token. Use it for future payments across any channel. The card data is never stored in your systems.
Recurring Billing
Combine tokenisation with Authorize.net's Automated Recurring Billing (ARB). Capture the card securely over a phone call, then use the token for ongoing charges without the customer needing to call again.
Multi-PSP: Beyond Authorize.net
One of the key advantages of using Shuttle rather than an Authorize.net-only connector is flexibility. Your Twilio integration stays the same even if you:
Add a second gateway — route transactions to Authorize.net for US customers and a different gateway for international
**Serve enterprise customers** who mandate a specific PSP
Need failover — if Authorize.net is down, automatically route to a backup gateway
Expand internationally where Authorize.net isn't available
You configure routing rules in Shuttle's dashboard. Your Twilio call flow doesn't change.
PCI Compliance
The Authorize.net + 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 | Authorize.net (PCI DSS Level 1) |
Your systems | No card data — SAQ-A |
Card data flows from Twilio → Shuttle → Authorize.net. Your application only receives redacted data (last 4 digits, card brand, transaction ID). 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 Authorize.net to Twilio without Shuttle? Twilio doesn't have a built-in Authorize.net Pay Connector. You'd need to build a custom connector using Twilio's Generic Pay Connector framework — handling PCI compliance yourself. Shuttle provides a pre-built, PCI-certified connector.
Does this work with Twilio Studio? Yes. Twilio Studio supports the <Pay> widget. Configure it with shuttle-pay-connector as the connector and the payment flow works within your Studio flow.
Can I use Authorize.net's Customer Information Manager (CIM)? Yes. When tokenising cards via Shuttle, the token integrates with Authorize.net's CIM for stored payment methods, enabling future recurring or on-demand charges.
What does it cost? Shuttle charges $0.20 per transaction. Authorize.net's standard gateway fees apply on top ($0.10/transaction + $25/month, or your negotiated rate). No Shuttle setup fees or monthly minimums.
Can I process eChecks/ACH via Twilio? Shuttle's Twilio Pay Connector handles card payments captured via DTMF. For ACH/eCheck, you'd typically collect bank details through a different channel and process via Authorize.net directly.
Can I switch from Authorize.net 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 Adyen to Twilio for Voice Payments — step-by-step Adyen + Twilio setup
How to Connect Worldpay to Twilio for Voice Payments — step-by-step Worldpay + Twilio setup
Twilio Pay — Connect Any Payment Gateway to Twilio — all supported gateways, pricing, and setup
*Connect Authorize.net 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.*