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

Simulate presenting a payment method

Triggers presentation of a simulated payment method on a Terminal reader. Use the request body to simulate accepting a payment, saving a card, or refunding a transaction, and provide the payment data required by the selected method.

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

1 parameter · 6 body fields
readerstringrequired
The identifier of the simulated Terminal reader. Maximum 5,000 characters.

Optional form data describing the payment method to present on the simulated reader.

amount_tipintegeroptional
Simulated on-reader tip amount.
cardobjectoptional
Simulated data for the card payment method.
card_presentobjectoptional
Simulated data for the card_present payment method.
expandarray<string>optional
Specifies which fields in the response should be expanded.
interac_presentobjectoptional
Simulated data for the interac_present payment method.
typestringoptional
Simulated payment type.
Allowed:cardcard_presentinterac_present

2 status codes
200Returns the updated Reader object, including its latest action and current device, location, status, and metadata details.
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

reader must be no longer than 5,000 characters and must identify a simulated reader. type must be one of card, card_present, or interac_present; when card is supplied, number, exp_month, and exp_year are required.