How to Connect Moneris to Twilio for Voice & IVR Payments

By Shuttle Team, June 26, 2026

Moneris doesn't natively connect to Twilio for voice payments. If you want to process Moneris 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 Moneris (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction.

For Canadian businesses this matters. Moneris is Canada's largest payment processor, a joint venture of RBC and BMO, and the default acquirer for hundreds of thousands of Canadian merchants. If your business already settles through Moneris, this guide shows you how to take CAD payments over the phone without changing processors.


Why Moneris + Twilio Don't Connect Directly

Moneris is built for Canadian commerce: in-store terminals, ecommerce via the Moneris Gateway, and card-present processing with CAD settlement into Canadian bank accounts. Its APIs handle purchases, pre-authorisations, and tokenisation through the Moneris Vault.

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. Moneris isn't one of Twilio's built-in connectors, so there's no direct path from a Twilio call to your Moneris account.

This is where Shuttle comes in. Shuttle provides a Pay Connector that accepts card data from Twilio's <Pay> verb and routes it to Moneris for processing. One integration connects the two platforms.


How It Works

Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → Moneris (processing) → Result
  1. Caller reaches payment step. Your Twilio call flow (IVR or custom TwiML) triggers the <Pay> verb.

  2. 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.

  3. Shuttle receives card data. The data passes from Twilio's PCI-compliant environment directly to Shuttle's connector. It never touches your servers.

  4. Shuttle charges the card via Moneris. The connector creates a Moneris payment request, processes the transaction through your Moneris account, and handles the response.

  5. Result returned to your call flow. Your webhook receives the Moneris 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

  • A Moneris account with gateway credentials (store ID + API token, found in the Merchant Resource Center under Admin > Store Settings)

  • A Shuttle account (free to create; 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 Moneris Credentials to Shuttle

Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:

  • Gateway: Moneris

  • Store ID: Your Moneris store ID

  • API token: Your Moneris API token

  • Currency: CAD (USD is also supported if your Moneris account processes it)

  • Environment: Live or Test

Save the profile. Shuttle now has a live connection to your Moneris 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="89.50"
       currency="CAD"
       description="Account payment"
       action="/payment-complete">
  </Pay>
</Response>

Key parameters:

  • paymentConnector: set to shuttle-pay-connector

  • chargeAmount: the amount to charge

  • currency: ISO currency code (CAD for Canadian merchants)

  • 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": "MONERIS-REF-123...",
  "ProfileId": "your-shuttle-profile-id"
}

Use the PaymentConfirmationCode to look up the transaction in the Merchant Resource Center if needed. Update your account records, confirm to the caller, and continue the flow.

Step 5: Test

Use Moneris's test environment credentials in your Shuttle payment profile and verify the flow end-to-end before going live. Moneris's test environment simulates issuer responses, approving or declining transactions based on the amount you send, so you can rehearse both success and failure paths in your call flow.


What You Can Do With Moneris + Twilio

Charge Immediately

Standard purchase. The caller pays, Moneris processes, funds settle to your Canadian bank account on your normal Moneris schedule.

Authorise Now, Capture Later

Place a pre-authorisation on the card during the call. Capture the payment later through Moneris, useful for bookings, deposits, or amounts that are finalised after the call.

Tokenise for Future Use

Capture card details once over the phone. Shuttle tokenises the card via the Moneris Vault, which returns a permanent token (a data key) for that stored card. Use it for future payments across any channel: web, mobile, voice, or payment links. This is the pattern for recurring billing, instalment plans, and card-on-file collections. The card data is never stored in your systems. Note that the Vault option must be enabled on your Moneris account; your Moneris representative can switch it on.

Serve Canadian Phone-Payment Use Cases

Moneris + Twilio via Shuttle fits anywhere Canadian customers pay by phone: utilities taking bill payments through IVR, insurers collecting premiums on renewal calls, collections teams processing settlements and payment plans, and healthcare providers taking patient billing over the phone. The caller pays in CAD, card data never reaches your agents, and settlement lands with your existing acquirer.


Multi-PSP: Beyond Moneris

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 Canadian merchants with Moneris and your US or international merchants with another acquirer

  • Serve enterprise customers who mandate a specific PSP (Stripe, Worldpay, Checkout.com, etc.)

  • Want a backup gateway: if one gateway has an outage, 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 beyond Canada, with each merchant or entity in a new market 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, and Shuttle sends the payment to the provider you configured for that merchant and payment type.

This is particularly important for platforms and BPOs that serve multiple merchants. Each merchant can use their own Moneris account (or another supported voice gateway) through the same Twilio integration.


PCI Compliance

The Moneris + 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

Moneris

Your systems

Merchants: SAQ-A. Platforms: SAQ-D.

Card data flows from Twilio → Shuttle → Moneris. 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 Moneris to Twilio without Shuttle? Twilio doesn't have a built-in Moneris 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 that is PCI DSS Level 1 certified.

Can I take CAD payments over the phone with this? Yes. That's the primary use case. Transactions process in CAD through your Moneris account and settle to your Canadian bank account as normal.

What about Moneris's test environment? Fully supported. Use your Moneris test credentials in Shuttle and test the full flow with Twilio before going live. Moneris's test environment simulates issuer approvals and declines based on the transaction amount.

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. Moneris's standard processing fees apply on top.

Can I switch from Moneris 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.



Connect Moneris 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.

Take payments over the phone

Card capture for contact centres, IVR flows and AI voice agents, connected to 30+ payment gateways including Stripe, Adyen, and Worldpay Access.

Book a Call