Introduction

Shuttle's Twilio integration allows you to accept payments over the phone using Twilio's Pay capabilities. This enables secure payment collection through DTMF (touch-tone) input during phone calls, supporting both credit card and ACH payments.

Integration Methods

Two questions decide how you integrate, and they are independent of each other.

Are your calls already on Twilio? If so, go straight to the capture method below. If your voice traffic runs on Telnyx or another carrier, SIP trunk, PBX or contact centre platform, you do not need to move it — see Bring Your Own Carrier, which covers handing the caller over for the payment segment only. That choice carries PCI scope consequences, so read it before you build.

Who keys the digits? Twilio Pay supports two capture patterns:

MethodUse CaseAPI
IVR (Self-Service)Automated payment collection in IVR flows<Pay> TwiML verb
Agent AssistAgent-controlled payments in contact centersPayments Subresource API

Either capture method works whichever carrier brought the call in. For a fuller comparison of the two, see How It Works.

IVR Integration

Use the <Pay> TwiML verb for fully automated payment collection. The customer interacts directly with voice prompts without agent involvement. Best for:

  • Self-service bill pay
  • Automated payment reminders
  • After-hours payment collection

Agent Assist Integration

Use the Payments Subresource API when agents need to guide customers through payment collection. The agent controls the flow through a custom UI while Twilio securely captures the card data. Best for:

  • Contact center payments
  • Complex transactions requiring agent assistance
  • Sales calls with payment collection

Overview

The Twilio Pay Connector integration provides:

  • DTMF Payment Collection: Accept credit card and ACH payments through phone keypad input
  • PCI Compliance: Secure payment handling without storing sensitive card data
  • Multiple Payment Methods: Support for credit cards and ACH bank transfers
  • Recurring Payments: Set up scheduled and recurring payment plans
  • Tokenization: Save payment methods for future use
  • Real-time Processing: Immediate payment confirmation during calls

Getting Started

Step 1: Install the Pay Connector

To start accepting payments through Twilio, you'll need to install the Shuttle Pay Connector in your Twilio account.

Enable PCI Mode

  1. Log into your Twilio account
  2. Navigate to Voice Settings
  3. Click "Enable PCI Mode"
  4. Accept the Terms and Conditions
  5. Save your settings
PCI Mode Setup

Install Shuttle Pay Connector

  1. In Twilio Console, enter <Pay> Connectors in the "Jump to" search box, or click here
  2. Select the "Shuttle Pay Connector" from the catalog
Pay Connector Catalog
  1. Configure the connector with these settings:
    • Unique Name: shuttle-pay-connector (or similar - note this for later use)
    • Username: Your Shuttle instance key
    • Password: Your Shuttle secret key
Connector Configuration

Tip: Take note of the "Unique Name" as you'll need it when implementing the <Pay> verb in your TwiML.

Step 2: Test Your Configuration

We've created a demo application to help you test your Twilio integration quickly.

Using the Demo App

  1. Map a Twilio phone number to our demo webhook URL:

    https://[your-host]/demo/shuttle-pay-connector/[instance_key]/[secret_key]/start

    Replace /shuttle-pay-connector/ with your unique connector name from Step 1.

  2. Configure your phone number:

    • Go to Phone Numbers > Manage > Active Numbers in Twilio Console, or click here
    • Set "Voice" > "A Call Comes In" to "Webhook"
    • Enter the demo URL and set method to HTTP POST
    • Save the configuration
  3. Call your configured number and follow the prompts to make a test payment!

Demo Configuration

Resources: View the demo app source code or watch the walkthrough video.

Next Steps

Once you've verified your setup with the demo app, choose your integration method:

How It Works - Worth reading first:

  • How cardholder data moves between the four parties
  • PCI scope, failure modes, and IVR vs Agent Assist compared

IVR Integration Guide - For automated self-service payments:

  • Implement the <Pay> verb in your TwiML
  • Handle payment responses and errors

Agent Assist Integration Guide - For contact center payments:

  • Build a custom payment widget for agents
  • Use the Payments Subresource API

Shuttle Pay Connector Reference - Detailed reference for both methods:

  • Request parameters and response fields
  • Status values and decline types
  • Webhooks and API operations

Bring Your Own Carrier - If your calls are not on Twilio:

  • Hand the caller over for the payment segment only, from Telnyx or any other platform
  • Choose between the bridge and handoff call flows, and their PCI consequences

Did this page help you?