Learn how to accept secure payments over the phone using Stripe Connect and Twilio Pay
Why use Phone Payments?
Connect Stripe
Link your Stripe account in Call Settings
Create Payment Question
Add a payment question to your flow
Configure Payment
Set amount and enable payment processing
Handle Result
Setup success and failed paths
Enable payment processing by connecting your Stripe account
Why Stripe Connect?
Stripe Connect allows you to receive payments directly to your bank account. The integration is handled securely through Twilio's PCI-DSS Level 1 certified system, ensuring the highest level of payment security.
Complete the Stripe onboarding (you'll need):
One-Time Setup
You only need to connect Stripe once. After setup, all payment questions in all flows will use this account.
Add a payment step to your flow where customers will provide payment
Payment Question Placement
You can place payment questions anywhere in your flow - at the beginning, middle, or end. Common scenarios include collecting payment after service confirmation or at checkout.
Enter a question title that describes the payment, for example:
Required: Two Options
Payment questions must have exactly two options to handle payment outcomes:
The system will automatically select the appropriate option based on the payment result.
Set up payment amount and enable payment processing
Stripe Connection Check
If you haven't connected Stripe yet, you'll see a prompt to set it up first. The payment toggle won't activate until Stripe is connected.
Enter the payment configuration in JSON format:
amount *required
Payment amount in dollars (e.g., 50.00 for $50)
Type: Number | Example: 50.00
currency *required
Currency code (CAD for Canadian Dollar, USD for US Dollar)
Type: String | Example: "CAD"
description optional
Description of what the payment is for (shown in Stripe dashboard)
Type: String | Example: "Order #1234 - Prescription refill"
JSON Format Important Notes:
Configuration Complete!
Your payment question is now ready. When a caller reaches this question, they'll be guided through the secure payment process by Twilio's automated system.
Create follow-up questions for success and failure scenarios
Automatic Option Selection
After payment processing, the system automatically selects the appropriate option based on the result:
Click on your first option (success option)
Example: "Payment Successful" or "Continue"
Add a confirmation question, such as:
Click on your second option (failure option)
Example: "Payment Failed" or "Try Again"
Add an error handling question, such as:
Provide options such as:
Common Payment Failure Reasons:
Always provide a clear path for customers to retry or get help!
Credit Cost & Pricing (in CAD)
Currency Note: All fees shown are in Canadian Dollars (CAD). The original USD fees have been converted at current exchange rates
Calculation Example for $100 CAD Payment:
Test your payment flow before accepting real payments
Use Stripe Test Mode
When you first connect Stripe, it starts in test mode. This allows you to test payment flows without processing real money.
Stripe Test Card Numbers:
4242 4242 4242 4242
4000 0000 0000 0002
Use any future expiry date and any 3-digit CVV
Going Live
Once you've completed testing and Stripe has verified your account:
Common Issues & Solutions:
🔶 "Payment toggle won't turn on"
→ Make sure Stripe Connect is activated in Call Settings first
🔶 "Invalid JSON error"
→ Check JSON syntax (commas, quotes, proper format). Use a JSON validator online if needed
🔶 "Payment always fails"
→ Verify Stripe account is in live mode (not test mode) and fully verified
🔶 "Wrong option is selected after payment"
→ Ensure first option is for success, second for failure. System selects based on order
🔶 "Customer says they were charged but payment shows failed"
→ Check Stripe dashboard for the transaction. Sometimes authorization happens but capture fails
🔶 "Payment amount is wrong"
→ Double-check the "amount" value in Response JSON Template. Must be in dollars (50.00 = $50)
Our support team is ready to assist you with payment setup and troubleshooting.