Transbank doesn't natively connect to Twilio for voice payments. If you want to process Transbank 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 Transbank (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments in Chilean pesos during any voice interaction.
This guide walks through how the integration works, how to set it up, and what to watch for.
Why Transbank + Twilio Don't Connect Directly
Transbank is Chile's dominant payment processor. For decades it was the country's sole card acquirer, and it still processes the majority of card transactions in Chile through its Webpay acceptance brand. Webpay Plus, its hosted online gateway, is built for web checkout: the customer is redirected to a Transbank payment page, enters their card, and returns to your site.
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. Transbank isn't one of Twilio's built-in connectors, and a redirect-based flow like Webpay Plus can't run inside a phone call. There's no webpage to redirect a caller to.
This is where Shuttle comes in. Shuttle provides a Pay Connector that accepts card data from Twilio's <Pay> verb and routes it to Transbank for processing through your own commerce code. One integration connects the two platforms.
For Chilean utilities, insurers, telcos, and collections teams, that means the phone channel finally works like the web channel: the caller pays in CLP, on the call, without being sent a link or transferred to a separate system.
How It Works
Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → Transbank (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 Transbank. The connector creates a Transbank payment request, processes the transaction through your commerce code, and handles 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 Transbank account with API credentials (commerce code + API key)
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 Transbank Credentials to Shuttle
Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:
Gateway: Transbank
Commerce code: Your Transbank commerce code
API key: Your Transbank API key secret
Currency: CLP
Environment: Live or Test
Save the profile. Shuttle now has a live connection to your Transbank 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="45000"
currency="CLP"
description="Invoice payment"
action="/payment-complete">
</Pay>
</Response>Key parameters:
paymentConnector: set toshuttle-pay-connectorchargeAmount: the amount to chargecurrency: ISO currency code (CLP for Chilean pesos)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:
{
"Result": "success",
"PaymentCardNumber": "xxxx-xxxx-xxxx-1234",
"PaymentCardType": "visa",
"PaymentConfirmationCode": "TBK-REF-123...",
"ProfileId": "your-shuttle-profile-id"
}Use the PaymentConfirmationCode to reconcile the transaction in Transbank if needed. Update your account records, confirm to the caller, and continue the flow.
Step 5: Test
Transbank provides a dedicated integration environment with its own commerce codes and API key, separate from production. Use those integration credentials in your Shuttle test profile and verify the flow end-to-end before going live.
What You Can Do With Transbank + Twilio
Charge Immediately in CLP
Standard capture during the call. The caller pays, Transbank processes through your commerce code, done. This is the core flow for bill payments, policy premiums, and account top-ups.
Tokenise for Future Use
Capture card details once over the phone. Shuttle tokenises the card with Transbank and returns Transbank's reusable token, which you can use for future payments across any channel: web, mobile, voice, or payment links. The card data is never stored in your systems.
Agent-Assisted and IVR Collections
Collections teams can take payment mid-conversation without pausing the call or hearing card details, and self-service IVR lines can collect overdue balances around the clock. See how BPOs and collections agencies structure this.
Fall Back to a Payment Link
Not every caller wants to key in a card on the phone. From the same Shuttle account, an agent can send a hosted payment link by SMS or email instead.
Multi-PSP: Beyond Transbank
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: serve your Chilean merchants with Transbank, and other LatAm markets with a regional acquirer
Serve enterprise customers who mandate a specific PSP
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
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.
This is particularly important for platforms and BPOs that serve multiple merchants. Each merchant can use their own Transbank commerce code (or any other gateway) through the same Twilio integration.
PCI Compliance
The Transbank + Twilio integration via Shuttle limits your PCI scope:
Layer | PCI handled by |
|---|---|
DTMF capture | Twilio |
Card data processing | Shuttle (PCI DSS Level 1) |
Payment processing | Transbank |
Your systems | No card data reaches your systems; SAQ-A for merchants, SAQ-D for platforms |
Card data flows from Twilio to Shuttle to Transbank. 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.
For the full picture on PCI compliance with Twilio, see Twilio PCI Compliance: Payments Without Handling Card Data.
FAQ
Can I connect Transbank to Twilio without Shuttle? Twilio doesn't have a built-in Transbank 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 connector, operating as a PCI DSS Level 1 Service Provider.
Does this support Chilean pesos? Yes. Transbank processes in CLP, and Twilio's <Pay> verb passes the currency code through. Set currency="CLP" in your TwiML and CLP as the currency on your Shuttle payment profile.
Do I need my own Transbank account? Yes. Shuttle connects to Transbank using your own commerce code and API key, so transactions settle to your account under your existing Transbank agreement.
What about Transbank's test environment? Fully supported. Transbank issues separate integration credentials for testing. Add them to a Shuttle test profile and run 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. Transbank's standard merchant fees apply on top.
Can I switch from Transbank 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 PayU to Twilio for Voice Payments: connecting the other LatAm-capable gateway to Twilio
Payment Collection for BPOs: multi-client payment collection for outsourced contact centres
Twilio Pay: Connect Any Compatible Payment Gateway to Twilio: all supported gateways, pricing, and setup
Connect Transbank 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.