BS Payone (now branded PAYONE) doesn't natively connect to Twilio for voice payments. If you want to process PAYONE transactions during a phone call, whether via IVR, agent-assisted, or an AI voice agent, you need a Twilio Pay Connector that bridges the two platforms.
Shuttle's Pay Connector does exactly this. It connects BS Payone (and 30+ other gateways) to Twilio's <Pay> verb, so you can accept PCI-compliant card payments during any voice interaction.
For German and DACH merchants, this matters. PAYONE is one of the region's largest payment providers: a joint venture between Worldline and the DSV Group (Deutscher Sparkassenverlag), with deep roots in the German Sparkassen network. If your business already processes EUR card payments through PAYONE, whether you're an insurer collecting premiums, a utility taking bill payments, or a subscription business recovering failed charges, this guide shows you how to extend that same account to the phone channel.
Why BS Payone + Twilio Don't Connect Directly
BS Payone is built for card acceptance across e-commerce and point of sale in Germany, Austria, and the wider DACH market. Its Server API handles authorisations, captures, refunds, and recurring payments against your PAYONE merchant account.
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. BS Payone isn't one of Twilio's built-in connectors, so there is no direct path between the two platforms.
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 BS Payone's API for processing. One integration connects the two platforms, and your existing PAYONE merchant account, acquiring relationship, and settlement arrangements stay exactly as they are.
How It Works
`` Caller → Twilio (DTMF capture) → Shuttle (Pay Connector) → BS Payone (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 BS Payone. The connector creates a payment request against your PAYONE account, processes the transaction, and handles the response.
Result returned to your call flow. Your webhook receives the PAYONE transaction reference, last four digits, card brand, and transaction status. The call continues.
The entire flow happens in seconds. The caller stays on the line. No redirects, no "please visit our website", and no reading card numbers aloud to an agent.
Step-by-Step Setup
Prerequisites
A Twilio account with voice capability
A BS Payone account with API credentials (Merchant ID, Portal ID, Account ID, and 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 BS Payone Credentials to Shuttle
Log into the Shuttle dashboard. Navigate to Payment Profiles and create a new profile:
Gateway: BS Payone
Merchant ID: Your PAYONE merchant ID (mid)
Portal ID: Your PAYONE portal ID (portalid)
Account ID: Your PAYONE account ID (aid)
Key: Your portal key
Currency: EUR (or your default)
Environment: Live or Test
Save the profile. Shuttle now has a live connection to your PAYONE 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 hash key.</Say> <Pay paymentConnector="shuttle-pay-connector" chargeAmount="89.00" currency="EUR" description="Premium payment" action="/payment-complete"> </Pay> </Response> ``
Key parameters:
paymentConnector: set toshuttle-pay-connectorchargeAmount: the amount to chargecurrency: ISO currency code (EUR for most PAYONE 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:
``json { "Result": "success", "PaymentCardNumber": "xxxx-xxxx-xxxx-1234", "PaymentCardType": "visa", "PaymentConfirmationCode": "PAYONE-TXID-123...", "ProfileId": "your-shuttle-profile-id" } ``
Use the PaymentConfirmationCode to look up the transaction in your PAYONE merchant interface if needed. Update your order, confirm to the caller, and continue the flow.
Step 5: Test
Use BS Payone's test mode and Twilio's test credentials to verify the flow end-to-end before going live. Run a full test transaction, check it appears against your test portal, and confirm your webhook handles both success and failure results.
What You Can Do With BS Payone + Twilio
Charge Immediately
Standard auth-and-capture. The caller pays, PAYONE processes, done. Ideal for one-off bill payments, arrears collection, and phone orders.
Authorise Now, Capture Later
Place a hold on the card during the call and capture the payment later. Useful for bookings, deposits, or transactions where the final amount is confirmed after the call.
Tokenise for Future Use
Capture card details once over the phone. Shuttle tokenises the card and returns a reusable token, so future payments run without the customer re-entering details. Use it across any channel: web, mobile, voice, or payment links. This is the pattern subscription businesses and insurers use to set up recurring collection from a single phone call. The card data is never stored in your systems.
Agent-Assisted and AI Voice Payments
The same connector works whether the payment step is triggered by an IVR menu, a live agent transferring the caller into a secure capture flow, or an AI voice agent handling the whole conversation. German-language IVR prompts work exactly as you'd expect: Twilio captures the digits, Shuttle routes them to PAYONE.
Multi-PSP: Beyond BS Payone
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 EUR transactions to PAYONE and UK or US transactions to a local acquirer
**Serve enterprise customers** who mandate a specific PSP (Stripe, Adyen, Worldpay, etc.)
Need failover: if one gateway is unavailable, automatically route to a backup
Expand beyond DACH to markets where a different acquirer gives better authorisation rates
You configure routing rules by merchant, region, amount, or failover priority 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 each transaction.
This is particularly important for platforms and BPOs that serve multiple merchants. Each merchant can use their own PAYONE account (or any other gateway) through the same Twilio integration.
PCI Compliance
The BS Payone + 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 | BS Payone |
Your systems | No card data: SAQ-A |
Card data flows from Twilio to Shuttle to BS Payone. Your application only receives redacted data (last 4 digits, card brand, transaction reference). You qualify for SAQ-A, the lightest PCI self-assessment. For regulated DACH businesses such as insurers and utilities, that means the phone channel adds no new card-data footprint to audit.
For the full picture on PCI compliance with Twilio, see Twilio PCI Compliance: Payments Without Handling Card Data.
FAQ
Can I connect BS Payone to Twilio without Shuttle? Twilio doesn't have a built-in BS Payone 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, PCI-certified connector that handles this.
Does this work with Twilio Studio? Yes. Twilio Studio supports <Pay>. Configure it with shuttle-pay-connector as the connector and the payment step runs inside your Studio flow.
Which credentials do I need from PAYONE? Your Merchant ID (mid), Portal ID (portalid), Account ID (aid), and portal key. These are the standard BS Payone Server API credentials, available in your PAYONE merchant interface.
Can I take payments in German-language IVR flows? Yes. The language of your prompts is entirely up to your Twilio flow. DTMF capture and processing work the same regardless of the call language.
What does it cost? Shuttle charges $0.20 per successful transaction. Your standard BS Payone fees apply on top. No Shuttle setup fees or monthly minimums.
Can I switch from BS Payone 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.
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 & IVR Payments: step-by-step Adyen + Twilio setup
BS Payone with Shuttle: gateway details and supported features
Twilio Pay: Connect Any Payment Gateway to Twilio: all supported gateways, pricing, and setup
*Connect BS Payone 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.*