Twilio’s <Pay>
TwiML verb allows users to securely capture and process payments over-the-phone in a PCI compliant manner. This FAQ will cover common questions not covered in our existing Getting Started with <Pay> article.
- Does Twilio store payment information collected with <Pay>?
- How is <Gather> different from <Pay> for collecting payment information?
- What payment methods are supported with <Pay>?
- In which countries are <Pay> Connectors supported?
- What currencies does <Pay> support?
- I don’t see any payment gateway tiles on the Console <Pay> Connector page.
- I don’t see the payment gateway provider that I want to use on the Console <Pay> Connector page.
- How do I handle fraudulent charges and other post-transaction issues?
- Where can I find a transaction ID for a processed payment?
- What kind of charging/tokenization does Twilio support?
- How do I add a tip or change the purchase price after a transaction?
- Tokenization fails when chargeAmount is > 0
Does Twilio store payment information collected with <Pay>?
No; Twilio will only collect and transmit the payment information.
How is <Gather> different from <Pay> for collecting payment information?
The <Pay> TwiML verb was purpose-built for securely collecting credit card and ACH payment data to pass to our payment gateway partners for processing. This pathway is certified PCI DSS Level 1 Compliant, so you won’t need to worry about compliance on your side.
On the other hand, the <Gather> TwiML verb can be used to collect any inputs, and was not built with PCI compliance in mind. While you could use <Gather> on a project with PCI mode enabled to prevent Twilio from storing customer inputs, this only forces the Twilio-side of the call into compliance - you would still be responsible being PCI compliant within your system.
What payment methods are supported with <Pay>?
<Pay> currently supports credit cards, debit cards, and ACH payments. These may vary by Connector. Please visit the <Pay> Connector page for more details.
In which countries are <Pay> Connectors supported?
<Pay> Connector processing is supported in all countries that meet both of these requirements:
- Twilio offers phone numbers in this country
- The payment gateway partner accepts payments from this country
What currencies does <Pay> support?
<Pay> supports currencies of all countries that meet both of these requirements:
- Twilio offers phone numbers in this country
- The payment gateway partner accepts the local currency from this country
I don’t see any payment gateway tiles on the Console <Pay> Connector page.
Your Twilio project may not have the right permissions to view these options. Please contact our Support Team who can correct this issue.
I don’t see the payment gateway provider that I want to use on the Console <Pay> Connector page.
Twilio is working to expand our list of payment gateway partners. If your preferred partner is not listed, please Request an additional <Pay> Connector.
How do I handle fraudulent charges and other post-transaction issues?
Transaction issues should be raised with your payment provider, since Twilio only collects the data, and then passes it forward.
Where can I find a transaction ID for a processed payment?
The Transaction ID for any charges processed via <Pay> can be found in the Request Inspector for the call in the Console.
What kind of charging / tokenization does Twilio support?
<Pay> supports "Auth and Capture" (authorization and capture of funds for a one-time charge), as well as tokenization (for subscriptions, multiple charges, or changing charge amounts).
Payment Gateway provider support for these options may vary. For a full list of partners and their capabilities, please see the <Pay> Connectors page in the Console.
How do I add a tip or change the purchase price after a transaction?
“Auth and Capture” payments do not allow users to change the amount post transaction (eg: add tips etc). If you need to change a transaction amount, or authorize a credit card for repeated charges, we suggest you tokenize the credit card, and store it on your system to capture payment funds with your provider at a later date. This same advice applies to ACH payments.
Tokenization fails when chargeAmount is > 0
When tokenizing a credit card or ACH payment, the <Pay> chargeAmount
should be 0 to indicate that you are requesting tokenization of the payment. Otherwise, Twilio will attempt to execute a payment.