Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
Erweiterte Integration erstellen
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
    Übersicht
    Persönliche Zahlungen akzeptieren
    Integrationsdesign
    Wählen Sie Ihr Lesegerät aus
    Konzipieren einer Integration
    Quickstart
    Beispielanwendungen
    Tests
    Terminal einrichten
    Integration einrichten
    Mit einem Lesegerät verbinden
    Zahlung annehmen
    Kartenzahlungen einziehen
    Weitere Zahlungsmethoden
    Offline-Zahlungen annehmen
    Versand-/Telefonbezahlung
    Regionale Aspekte
    Während des Bezahlvorgangs
    Trinkgelder einziehen
    Zahlungsdetails erfassen und für die zukünftige Verwendung speichern
    Flexible Autorisierungen
    Nach dem Bezahlen
    Transaktionen zurückerstatten
    Belege zur Verfügung stellen
    Checkout anpassen
    Anzeige des Warenkorbs
    Eingaben auf dem Bildschirm erfassen
    Ausgelesene Daten erfassen
    Erfassen von Daten durch Tippen für NFC-Geräte
    Apps auf Geräten
    Lesegeräte verwalten
    Lesegeräte anfordern, zurückgeben, ersetzen
    Lesegerät registrieren
    Standorte und Zonen verwalten
    Lesegeräte konfigurieren
    Verschlüsselung
    Quellen
    API-Referenzen
    Mobile Lesegeräte
    Intelligente Lesegeräte
    SDK-Migrationsleitfaden
    Bereitstellungscheckliste
    Produktdatenblätter für Lesegeräte von Stripe Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenTerminal

Notiz

Bis jetzt ist diese Seite noch nicht in dieser Sprache verfügbar. Wir arbeiten aber verstärkt daran, unsere Dokumentation in weiteren Sprachen bereitzustellen, und werden die Übersetzung sofort anzeigen, sobald diese verfügbar ist.

Test Stripe Terminal

Learn how to effectively test your Terminal integration.

Seite kopieren

Notiz

Much of the process for testing Stripe Terminal is similar to that for testing online Stripe payments. Also, you can’t use Stripe Terminal with mobile wallets (for example, Apple Pay or Google Pay) in testmode. For more information, see the general Stripe testing guide.

The best way to achieve a successful Terminal deployment is to test every part of your integration. We provide testing tools for each stage:

  1. Before ordering a reader, test your integration with the reader simulator.
  2. Test your complete hardware integration with a physical test card.

Simulated reader

Reference

  • discoverReaders (JavaScript)
  • DiscoveryConfiguration (iOS)
  • DiscoveryConfiguration (Android)
  • Discover Readers

Stripe Terminal SDKs and server-driven integration come with a built-in simulated card reader, so you can develop and test your app without connecting to physical hardware. Whether your integration is complete or you’re still building it, use the simulated reader to emulate all the Terminal flows in your app.

The simulated reader doesn’t provide a UI. After connecting to it in your app, you can see it working when calls to the Stripe SDK or API succeed.

Simulated readers for SDKs automatically simulate card presentment as needed. For the server-driven integration, update your integration to simulate card presentment.

Simulated test cards

The simulated reader can be configured to use a simulated test card, enabling you to test different flows within your point of sale application.

Before collecting a payment method, configure the simulated reader to use one of the following test card numbers or test payment methods to produce specific responses.

Standard test cards

Test card numberTest payment methodBrand
visaVisa
visa_debitVisa (debit)
mastercardMastercard
mastercard_debitMastercard (debit)
mastercard_prepaidMastercard (prepaid)
amexAmerican Express
amex2American Express
discoverDiscover
discover2Discover
dinersDiners Club
diners_14digitsDiners Club (14 digit card)
jcbJCB
unionpayUnionPay
interacInterac
eftpos_au_debiteftpos Australia
eftpos_au_visa_debiteftpos Australia/Visa
eftpos_au_mastercard_debiteftpos Australia/Mastercard

Test cards for specific success cases

Test card numberTest payment methodResult
offline_pin_cvmSimulates the cardholder being prompted for and entering an offline PIN. The resulting charge has cardholder_verification_method set to offline_pin.
offline_pin_sca_retrySimulates an SCA-triggered retry flow where a cardholder’s initial contactless charge fails and the reader then prompts the user to insert their card and enter their offline PIN. The resulting charge has cardholder_verification_method set to offline_pin.
online_pin_cvmSimulates a cardholder being prompted for and entering an online PIN. The resulting charge has cardholder_verification_method set to online_pin.
online_pin_sca_retrySimulates an SCA-triggered retry flow where a cardholder’s initial contactless charge fails and the reader then prompts the user to input their online PIN. The final charge has cardholder_verification_method set to online_pin.

Test cards for specific error cases

Notiz

Using these specific cards for saving directly without charging and SetupIntents returns a setup_intent_authentication_failure response.

Test card numberTest payment methodResult
charge_declinedCharge is declined with a card_declined code.
charge_declined_insufficient_fundsCharge is declined with a card_declined code. The decline_code attribute is insufficient_funds.
charge_declined_lost_cardCharge is declined with a card_declined code. The decline_code attribute is lost_card.
charge_declined_stolen_cardCharge is declined with a card_declined code. The decline_code attribute is stolen_card.
charge_declined_expired_cardCharge is declined with an expired_card code.
charge_declined_processing_errorCharge is declined with a processing_error code.
refund_failCharge succeeds but refunding a captured charge fails asynchronously with a failure_reason of expired_or_canceled_card. Because refund failures are asynchronous, the refund will appear to be successful at first and will only have the failed status on subsequent fetches. We also notify you of refund failures using the refund.failed webhook event. This simulated error is only supported in the JavaScript SDK.

Simulated card presentment

When using the server-driven integration, use the present_payment_method endpoint to simulate a cardholder tapping or inserting their card on the reader.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/test_helpers/terminal/readers/tmr_xxx/present_payment_method \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
{ "id": "tmr_xxx", "object": "terminal.reader", "action": { "failure_code": null, "failure_message": null, "process_payment_intent": { "payment_intent": "pi_xxx" }, "status": "succeeded", "type": "process_payment_intent" }, … }

If you don’t specify parameters, the simulated payment defaults to a valid test card based on the payment method type of the PaymentIntent. Below are the default test cards for Terminal payment method types:

Payment method typeTest card numberTest payment method
card_presentvisa
card_present and interac_presentvisa
interac_presentinterac

With the standard test cards, you can also use test amounts to simulate failure scenarios

Simulated reader updates

During connection to a simulated Bluetooth reader, you can configure a simulated reader update.

Set the Terminal.shared.simulatorConfiguration.availableReaderUpdate to any of the following configurations. Calling connectReader triggers a simulated reader update.

Update configurationResult
SimulateReaderUpdateNoneNo update, no need to communicate anything to your user.
SimulateReaderUpdateRequiredA required update is available and takes 1 minute. Your BluetoothReaderDelegate receives the didStartInstallingUpdate callback.
SimulateReaderUpdateRequiredForOfflineA required update is past due and takes 1 minute. If operating offline, reader connection is unavailable. Your BluetoothReaderDelegate receives the didStartInstallingUpdate callback.
SimulateReaderUpdateAvailableAn optional update is available. Communicate to the user that an update is available and highlight the requiredAt date.
SimulateReaderUpdateLowBatteryA required update starts to install but fails due to the reader running low on battery. Connecting to the reader also fails. This simulates the reader running an older version of software.
SimulateReaderUpdateLowBatterySucceedConnectA required update starts to install but fails due to the reader running low on battery. Connecting to the reader succeeds. This simulates the reader running a recent version of software that’s still acceptable. Installing the update is retried when connecting to the reader again.
SimulateReaderUpdateRandomA random selection of the above scenarios.

Physical test cards

Test payments with your Stripe Terminal reader using a physical test card. You can purchase readers and physical test cards from the Terminal tab of the Stripe Dashboard.

This physical test card supports both chip entry and contactless payments. It only works with Stripe’s pre-certified readers, and only against the Stripe API in a sandbox. If you attempt to use your physical test card in live mode, the Stripe API returns an error. Unless stated otherwise, use the PIN 1234 when prompted.

When creating payments using a physical test card, use amounts ending in the following values to produce specific responses:

DecimalResult
00Payment is approved.
01Payment is declined with a call_issuer code.
02When using readers featuring a cardholder-facing screen, insert (or tap, if supported) the test card. If the card requires a PIN, the payment declines with offline_pin_required and requests PIN entry if the reader supports chip entry. Enter 1234 to complete the test payment.
03When using readers featuring a cardholder-facing screen, insert (or tap, if supported) the test card. If the card requires a PIN, the payment declines with online_or_offline_pin_required and requests PIN entry. Enter any 4-digit PIN to complete the test payment.
05Payment is declined with an generic_decline code.
55Payment is declined with an incorrect_pin code.
65Payment is declined with an withdrawal_count_limit_exceeded code.
75Payment is declined with an pin_try_exceeded code.

For example, a payment processed using a physical test card for the amount 25.00 USD succeeds; a payment processed for the amount 10.05 USD is declined.

Interac test cards Canada only

To test your Interac integration, you can use the simulated interac test card or an Interac physical test card. You can order it from the Terminal hardware shop in the Dashboard. You can’t use the Stripe-branded physical test as an Interac card.

The Interac test card works for both interac_present payments and interac_present refunds. You can use the same test amounts you use for testing card_present payments. Unless stated otherwise, use the PIN 1234 when prompted. To test a declined refund, create a partial refund with an amount ending with the following decimal values: 01, 05, 55, 65, or 75.

Notiz

The Interac test card doesn’t support contactless payments.

eftpos test cards Australia only

To test your eftpos integration, you can use the simulated eftpos test card or an eftpos physical test card. You can order it from the Terminal hardware shop in the Dashboard. You can’t use the Stripe-branded physical test card as an eftpos card.

You can use the same test amounts you use for testing card_present payments. Unless stated otherwise, use the PIN 1234 when prompted.

Siehe auch

  • Place orders
  • Integration checklist
War diese Seite hilfreich?
JaNein
Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
Schauen Sie sich unser Änderungsprotokoll an.
Fragen? Sales-Team kontaktieren.
LLM? Lesen Sie llms.txt.
Unterstützt von Markdoc