Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Save a card with MOTO for future payments


Save a card with the related setting for future payments

Use the Accounts v2 API to represent customers

The Accounts v2 API is generally available for Connect users, and in public preview for other Stripe users. If you’re part of the Accounts v2 preview, you need to specify a preview version in your code.

To join the Accounts v2 preview, go to Account previews and features in your Dashboard and enable Reusable payment methods for Global Payouts.

For most use cases, we recommend modeling your customers as customer-configured Account objects instead of using Customer objects.

Access to the related setting payments must be requested from Stripe.

Requesting access

To begin processing the related setting payments, contact Stripe support for access.

To save payment details from a the related setting for a future payment, you must:

  1. Create or retrieve a Customer .
  2. Create a SetupIntent .
  3. Process the SetupIntent .
  4. Verify the reader state .
  5. 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:

Command Line

Select a language

curl

Ruby

Python

PHP

Java

Node.js

Go

.NET

Stripe CLI

No results

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.

Command Line

Select a language

cURL

Stripe CLI

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Process the SetupIntent

Private preview

CVC is mandatory for the related setting 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.

Command Line

cURL

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 the related setting 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.

Last verified 2026-09-24

Is this helpful?