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, 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. 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. As Twilio's official payment partner, 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. 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 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 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
A Transbank account with API credentials (commerce code + API 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 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:
``xml <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:
``json { "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 and returns a 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, and both channels settle through the same reporting.
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: route Chilean transactions to Transbank and other LatAm markets to a regional acquirer
**Serve enterprise customers** who mandate a specific PSP
Need failover: if one gateway is unavailable, automatically route to a backup
Expand to new markets 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, by merchant, region, amount, or failover rules.
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 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 | Transbank |
Your systems | No card data, SAQ-A |
Card data flows from Twilio to Shuttle to Transbank. 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 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, that handles this.
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 $0.20 per successful transaction. Transbank's standard merchant fees apply on top. No Shuttle setup fees or monthly minimums.
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, 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 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 Payment Gateway to Twilio: all supported gateways, pricing, and setup
*Connect Transbank 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.*