Mail order telephone order (MOTO)
Learn how to collect mail order and telephone order (MOTO) payments, adhering to SCA rules.
In the context of Strong Customer Authentication regulation, MOTO transactions are out-of-scope. Your integration must correctly flag transactions as MOTO. Similar to other exemptions, the cardholder’s bank makes the final decision to accept or reject the transaction. If their bank does not support claiming the MOTO exemption, the customer must complete the payment on your website.
The Payment Intents and Setup Intents APIs let you flag card payments as moto
with a parameter.
Note
Before you can enable MOTO transactions, Stripe must verify that you’re PCI compliant. Contact Stripe support for more information.
Integration options
You can collect MOTO payments in two ways, depending on your business needs:
Mark a single payment as MOTO 
Create and confirm a PaymentIntent with a card collected via MOTO in one API call. When creating the PaymentIntent, set payment_method_options[card][moto] to true
and set confirm to true
.
Optionally, if you intend to make future off-session payments with this PaymentIntent’s payment method, set the setup_future_usage parameter to off_
and attach the payment method to a new or existing customer during the payment flow.
If the payment fails, ask the customer for new card information and confirm the same PaymentIntent. You can find the ID of the PaymentIntent from the error by looking at the error’s payment_intent property.
To initiate a MOTO payment on an existing saved card, supply the ID of the payment method as the payment_method parameter, instead of providing raw card details.
Collect a card for future payments 
Create and confirm a SetupIntent with a card collected via MOTO in one API call. When creating the SetupIntent, set payment_method_options[card][moto] to true
and set confirm to true
.
The SetupIntent should succeed immediately. After success, you can attach the payment method to a new or existing customer.
If the setup fails, ask the customer for new card information and confirm the same SetupIntent. You can find the ID of the SetupIntent from the error by looking at the setup_intent property of the error.
After the payment method has been successfully set up, for subsequent payments, set the ID of the payment method as the payment_method parameter and set payment_method_options[card][moto] to true
.
Don’t pass off_
for subsequent MOTO payments.
Testing
To test the behavior where MOTO transactions are not exempted from SCA by the cardholder’s bank, use the pm_card_authenticationRequired test card.
To test the behavior where the MOTO exemption is supported by the cardholder’s bank, use one of the other regulatory test cards.