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

Collect a PaymentIntent payment method on a Reader

Triggers collection of card details for a PaymentIntent on a Reader. Supply payment_intent and use collect_config for collection options such as tipping or customer cancellation. The Reader returns its current state after the collection 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 · 3 body fields
readerstringrequired
The unique identifier of the Reader on which to collect the payment method. Maximum 5000 characters.

Configuration for collecting a payment method for a PaymentIntent on a Reader.

collect_configobjectoptional
Configuration overrides for this collection, such as tipping, surcharging, and customer cancellation settings.
expandarray<string>optional
Specifies which fields in the response should be expanded.
payment_intentstringrequired
The ID of the PaymentIntent to collect a payment method for.

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

payment_intent must be provided as a PaymentIntent identifier, and reader must be a string no longer than 5000 characters. If supplied, collect_config.allow_redisplay must be always, limited, or unspecified; expand values must also be no longer than 5000 characters.