Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen

Inhalt auf einen Lesegerät drucken

Drucken Sie Inhalte auf dem integrierten Drucker eines Lesegeräts.

Mit Stripe Terminal können Sie benutzerdefinierte Inhalte wie Belege, Tickets oder andere Dokumente direkt auf dem integrierten Drucker eines Lesegeräts drucken. Diese Funktion ist nur für das Lesegerät Verifone V660p verfügbar, das mit einem integrierten Thermodrucker ausgestattet ist, der in Schwarzweiß drucken kann.

Erstellung von Druckinhalten

Ihre Integration ist dafür verantwortlich, die Inhalte zu generieren, die als Bilddatei gedruckt werden sollen. Bilder sind das einzige Format, das wir zum Drucken unterstützen. Wenn Sie ein Bild haben, konvertieren Sie es in die systemeigene Bilddarstellung für Ihren Integrationstyp (z. B. eine Bilddatei für servergestützte Anwendungen oder eine Bitmap für Android).

Richtlinien für Inhalte

Um optimale Ergebnisse zu erzielen, empfehlen wir Bilder, auf die Folgendes zutrifft:

  • Maximal 384 Pixel breit
  • Schwarz-Weiß (keine Graustufen oder Farbe)
  • Der dünnste Teil eines Zeichens oder einer Zeile muss mindestens 2 Pixel breit sein, damit der Druck klar und lesbar ist

Notiz

Sie sind rechtlich verantwortlich für alle Inhalte, die Stripe zum Drucken mit Lesegeräten übermittelt werden, und müssen sicherstellen, dass Ihre Belege den geltenden Gesetzen entsprechen. Es ist Ihnen untersagt, Belege zu drucken, die Materialien enthalten, die (i) die Rechte Dritter verletzen, (ii) gegen geltendes Recht verstoßen oder (iii) anstößige, beleidigende, täuschende, ungenaue oder schädliche Inhalte enthalten.

Drucken von Inhalten

API-Referenz

  • print_content

Um Inhalte auf einem Lesegerät zu drucken, rufen Sie den Endpoint print_content auf. Senden Sie einen multipart/form-data-Text mit Ihrer PNG- oder JPEG-Bilddatei. Die hochgeladene Datei darf nicht größer als 100 KB sein.

Command Line
cURL
No results
curl https://files.stripe.com/v1/terminal/readers/tmr_FDOt2wlRZEdpd7/print_content \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -F type=image \ -F "image=@/path/to/a/image.png"

Notiz

Dieser Endpoint befindet sich in der Subdomain files.stripe.com anstelle von api.stripe.com.

Verarbeiten Sie das Druckergebnis

Der Endpoint print_content antwortet mit einem aktualisierten Lesegerät-Objekt, wenn der Druckbefehl erfolgreich an das Lesegerät gesendet wurde. Sehen Sie sich die folgende Beispielantwort an:

{ "id": "tmr_FDOt2wlRZEdpd7", "object": "terminal.reader", "action": { "failure_code": null, "failure_message": null, "print_content": { "image": { "created_at": 1748971913, "filename": "image.png", "size": 15864, "type": "png" }, "type": "image" }, "status": "in_progress", "type": "print_content" }, "device_sw_version": "", "device_type": "verifone_v660p", "ip_address": "0.0.0.0", "label": "Blue Rabbit", "last_seen_at": 1695166525506, "livemode": false, "location": "tml_FDOtHwxAAdIJOh", "metadata": {}, "serial_number": "452-406-028", "status": "online" }

Das Objekt action zeigt an, dass eine print_content-Aktion in_progress ist. Das Objekt print_content enthält Informationen über das zu druckende Bild.

Der Endpoint antwortet auf einen Validierungsfehler (z. B. Datei zu groß oder nicht unterstütztes Format) sofort mit einem 400-Statuscode und einer Textausgabe, wie der folgenden:

{ "error": { "message": "The file you uploaded was too large. Please upload a file smaller than 100 KB", "param": "image", "request_log_url": "https://dashboard.stripe.com/...", "type": "invalid_request_error" } }

Webhook-Ereignisse

Wenn der Druckvorgang abgeschlossen ist (entweder erfolgreich oder mit einem Fehler), sendet Stripe eine Anfrage an Ihren Webhook-Endpoint.

Stripe sendet zwei Webhook-Ereignisse, um Ihr Backend über das Ergebnis des Druckbefehls zu informieren:

  • Terminal.reader.action_succeeded: Der Druckbefehl war erfolgreich.
  • Terminal.reader.action_failed: Der Druckbefehl ist fehlgeschlagen. Der Drucker hatte zum Beispiel kein Papier mehr oder hat sich während des Druckens gestaut.

Die Webhook-Nutzlast enthält ein Ereignisobjekt, wobei data.object ein aktualisiertes Lesegerät-Objekt ist.

Das Ereignis terminal.reader.action_succeeded

Bei einem Ereignis terminal.reader.action_succeeded sieht das Objekt data wie folgt aus:

{ "object": { "id": "tmr_FDOt2wlRZEdpd7", "object": "terminal.reader", "action": { "failure_code": null, "failure_message": null, "print_content": { "image": { "created_at": 1748971913, "filename": "image.png", "size": 15864, "type": "png" }, "type": "image" }, "status": "succeeded", "type": "print_content" }, "device_deploy_group": "", "device_sw_version": "2.34.0.0", "device_type": "verifone_v660p", "ip_address": "10.244.38.93", "label": "test", "livemode": false, "location": "tml_GEPlmAJnZUoXI6", "metadata": {}, "serial_number": "452-406-028", "software": null, "status": "online" }, "previous_attributes": null }

Der action.status wird auf succeeded gesetzt. Der action.failure_code und die action.failure_message sind in diesem Fall beide null.

Das Ereignis Terminal.reader.action_failed

Bei einem Ereignisterminal.reader.action_failed sieht das Objekt data wie folgt aus:

{ "object": { "id": "tmr_FDOt2wlRZEdpd7", "object": "terminal.reader", "action": { "failure_code": "reason_out_of_paper", "failure_message": "The printer is out of paper.", "print_content": { "image": { "created_at": 1748971913, "filename": "image.png", "size": 15864, "type": "png" }, "type": "image" }, "status": "failed", "type": "print_content" }, "device_deploy_group": "", "device_sw_version": "2.34.0.0", "device_type": "verifone_v660p", "ip_address": "10.244.35.107", "label": "test", "livemode": false, "location": "tml_GEPlmAJnZUoXI6", "metadata": {}, "serial_number": "452-406-028", "software": null, "status": "online" }, "previous_attributes": null }

Der action.status wird auf failed gesetzt. Das Feld failure_code enthält den Grund für den Fehler und das Feld failure_message enthält eine von Menschen lesbare Nachricht, die den Fehler beschreibt.

Die möglichen Werte für das Feld Failure_code sind:

FehlerbeschreibungFehlercode
Der Drucker druckt gerade.printer_busy
Die Papierrolle des Druckers hat sich gestaut.printer_paperjam
Der Drucker hat kein Papier mehr.printer_out_of_paper
Die Abdeckung des Druckers oder die Kopfeinheit ist geöffnet.printer_cover_open
Allgemeiner Fehler beim Drucken (Auffanglösung für alle anderen Fehler).printer_failure

Wenn das Lesegerät das Drucken nicht unterstützt, wird der failure_code auf printer_not_supported gesetzt und der Fehler kehrt unmittelbar nach dem Aufruf des Endpoints print_content zurück. Ein Ereignis terminal.reader.action_failed wird nicht gesendet.

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