Save a card with MOTO for future payments
Save mail order and telephone order (MOTO) card details for future payment using Stripe Terminal.
Requesting access
To begin processing MOTO payments, contact Stripe support for access.
To save payment details from a MOTO for a future payment, you must:
- Create or retrieve a Customer.
- Create a SetupIntent.
- Process the SetupIntent.
- Verify the reader state.
- Charge the saved PaymentMethod.
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:
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. The payment_method_types must include card.
Process the SetupIntent
Version bêta privée
CVC is mandatory for MOTO transactions. Skipping CVC is in private preview and you can request it for mail orders. Contact Stripe support for access.
After you create the SetupIntent, use process_setup_intent to process the payment, setting process_config[moto] to true. Pass allow_redisplay as always or limited, indicating the degree to which a payment method can be shown in a customer checkout flow.
The process_setup_intent request is asynchronous. After the request, the reader prompts you for the cardholder’s card number, CVC, expiry date, and postal code.
Verify the reader state
Your application must follow the instructions for verifying the reader state to confirm a successful (approved) SetupIntent.
Charge the saved PaymentMethod
You can now charge the saved PaymentMethod associated with the Customer using a PaymentIntent.
Testing
Use the simulated reader and simulated test card numbers to test your integration.
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. This applies in situations 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, placing a MOTO order, or in your store.
Add terms to your checkout flow 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 not actively checking out, make sure (at a minimum) 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, you can only use it for the specific purpose that you included in your terms. If you want to charge customers when they’re not actively checking out 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.