Sample - Stripe API
POST/v1/terminal/readers/{reader}/process_setup_intent

Process a SetupIntent on a Reader

Triggers processing of a SetupIntent on a Reader to save payment details without charging the customer. Supply setup_intent and allow_redisplay, then use process_config for customer cancellation settings. The Reader returns its current state after the SetupIntent flow is initiated.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.
  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 parameter · 4 body fields
readerstringrequired
The unique identifier of the Reader on which to process the SetupIntent. Maximum 5000 characters.

Configuration for processing a SetupIntent and saving payment details on a Reader.

allow_redisplaystringrequired
This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow.
Allowed:alwayslimitedunspecified
expandarray<string>optional
Specifies which fields in the response should be expanded.
process_configobjectoptional
Configuration overrides for this setup, such as MOTO and customer cancellation settings.
setup_intentstringrequired
The ID of the SetupIntent to process on the reader.

2 status codes
200Returns the Reader object, including its identifier, device type, label, software version, network status, and most recent action.
actionobjectoptional
The most recent action performed by the reader.
device_sw_versionstringoptional
The current software version of the reader.
device_typestringrequired
Device type of the reader.
Allowed:bbpos_chipper2xbbpos_wisepad3bbpos_wisepos_emobile_phone_readersimulated_stripe_s700simulated_stripe_s710simulated_verifone_m425simulated_verifone_p630simulated_verifone_ux700simulated_verifone_v660psimulated_wisepos_estripe_m2
idstringrequired
Unique identifier for the object.
ip_addressstringoptional
The local IP address of the reader.
labelstringrequired
Custom label given to the reader for easier identification.
last_seen_atintegeroptional
The last time this reader reported to Stripe backend. Timestamp is measured in milliseconds since the Unix epoch. Unlike most other Stripe timestamp fields which use seconds, this field uses milliseconds.
livemodebooleanrequired
If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
locationstringoptional
The location identifier of the reader.
metadataobjectrequired
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
objectstringrequired
String representing the object's type. Objects of the same type share the same value.
Allowed:terminal.reader
serial_numberstringrequired
Serial number of the reader.
statusstringoptional
The networking status of the reader. We do not recommend using this field in flows that may block taking payments.
Allowed:offlineonline
defaultError response.
errorobjectrequired

Error handling

setup_intent and allow_redisplay must be provided, and allow_redisplay must be always, limited, or unspecified. reader must be a string no longer than 5000 characters, and each expand value must also be no longer than 5000 characters.