Save cards using MOTO
Save mail order and telephone order (MOTO) card details for future payment.
Notiz
MOTO payments are a gated feature. To request access, contact Stripe support. After we enable the feature, you must activate it by disconnecting from and reconnecting to your readers.
MOTO SetupIntents allow you to enter the card information on the reader and save the payment details without charging the card.
To do this with the iOS SDK, you must:
- Create or retrieve a Customer.
- Create a SetupIntent.
- Collect a PaymentMethod.
- Confirm and use the PaymentMethod.

Saving a card with MOTO flow
Create or retrieve a Customer
To charge a card saved with Stripe, you must attach it to a Customer.
When you include a customer in your SetupIntent before confirming, Stripe automatically attaches the generated card payment method to the provided Customer
object that you create/retrieve.
Include the following code on your server to create a new Customer
object:
Create a SetupIntent
A SetupIntent is an object that represents your intent to set up a customer’s payment method for future payments. The SetupIntent tracks the steps of this setup process. For Terminal, this includes collecting and recording cardholder consent.
The payment_method_types must include card
.
Collect a PaymentMethod
After you create a SetupIntent, the next step is to collect a PaymentMethod with the SDK and collect customer consent. If the customer provides consent, set the customerConsentCollected
Boolean to true
.
To collect a PaymentMethod, you must connect your app to a reader. In the SetupIntentConfiguration
, set moto
to true
. The connected reader prompts you to enter the customer’s card number, CVC, expiration date, and postal code after your app calls collectSetupIntentPaymentMethod
.
Confirm and use the PaymentMethod
You can follow the usual procedure to confirm the PaymentMethod. You can now charge the saved PaymentMethod associated with the Customer using a PaymentIntent.
Compliance 
You’re responsible for your compliance with all applicable laws, regulations, and network rules when saving a customer’s payment details. For example, the European Data Protection Board has issued guidance regarding saving payment details. These requirements generally apply if you want to save your customer’s payment method for future use, such as presenting a customer’s payment method to them in the checkout flow for a future purchase or charging them when they’re not actively using your website or app.
Add terms to your website or app that state how you plan to save payment method details and allow customers to opt in. If you plan to charge the customer while they’re offline, then at a minimum, make sure that your terms also cover the following:
- The customer’s agreement to your initiating a payment or a series of payments on their behalf for specified transactions.
- The anticipated timing and frequency of payments (for instance, whether charges are for scheduled installment or subscription payments, or for unscheduled top-ups).
- How the payment amount is determined.
- Your cancellation policy, if you’re setting up the payment method for a subscription service.
Make sure you keep a record of your customer’s written agreement to these terms.
When you save a payment method, it can only be used for the specific usage that you included in your terms. If you want to charge customers when they’re offline and also save the customer’s payment method to present to them as a saved payment method for future purchases, you must explicitly collect consent from the customer. One way to do so is with a “Save my payment method for future use” checkbox.