# Trinkgelder über das Lesegerät einziehen Bei der Trinkgeldvergabe auf Lesegeräten können Sie vorgeschlagene Trinkgeldbeträge auf dem Lesegerät anzeigen, bevor die Kundin/der Kunde eine Zahlungsmethode auswählt. Das Lesegeräten zeigt drei Vorschläge basierend auf der von Ihnen eingerichteten [Trinkgeldoption](https://docs.stripe.com/terminal/features/collecting-tips/on-reader.md#customize-tips-reader) an. Das Lesegerät zeigt bei jedem Aufruf zu einem Zahlungseinzug automatisch einen Auswahlbildschirm mit Trinkgeldbeträgen an. Wenn Sie [die Zahlung bestätigen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#confirm-payment), wird der `PaymentIntent` für einen Betrag einschließlich des ausgewählten Trinkgelds bestätigt. ![](https://b.stripecdn.com/docs-statics-srv/assets/wpe-darkmode-pay.fdf5e2100ca53b54e100a28b8589b1d1.png) Zahlungsbildschirm ![](https://b.stripecdn.com/docs-statics-srv/assets/wpe-darkmode-subtotal.50779461be74aa98f600aef3e7715a16.png) Trinkgeld-Auswahlbildschirm (Prozentsatz) ![](https://b.stripecdn.com/docs-statics-srv/assets/wpe-darkmode-total.eb4f25263c136bed268f68a6f5e82933.png) Gesamter Bildschirm ![](https://b.stripecdn.com/docs-statics-srv/assets/wpe-darkmode-approved.6eb33af4ca019de7621d07363e24dd8e.png) Bildschirm „Genehmigt“ ### Verfügbarkeit - AT - AU - BE - BG - CA - CH - CY - CZ - DE - DK - EE - ES - FI - FR - GB - GI - HR - HU - IE - IT - JP - LI - LT - LU - LV - MT - MY - NL - NO - NZ - PL - PT - RO - SE - SG - SI - SK - US **Lesegeräte**: [Stripe Reader S700/S710](https://docs.stripe.com/terminal/readers/stripe-reader-s700-s710.md), [BBPOS WisePOS E](https://docs.stripe.com/terminal/readers/bbpos-wisepos-e.md), [BBPOS WisePad 3](https://docs.stripe.com/terminal/readers/bbpos-wisepad3.md) ## Lesegerät-Trinkgeldfunktion aktivieren und einrichten Verwenden Sie ein [Konfigurationsobjekt](https://docs.stripe.com/api/terminal/configuration.md) oder das [Dashboard](https://docs.stripe.com/terminal/fleet/configurations-overview.md?dashboard-or-api=dashboard#update-the-default-configuration-for-the-account), um die Trinkgeldkonfiguration für Ihr Lesegerät festzulegen: - Intelligente Trinkgeldbeträge vorschlagen – Das Lesegerät zeigt dynamisch drei Prozentsätze oder Beträge an, je nach Höhe des Betrages vor Trinkgeld. - Trinkgeldprozentsätze vorschlagen – Das Lesegerät zeigt drei prozentuale Trinkgeldbeträge an. - Trinkgeldbeträge vorschlagen – Das Lesegerät zeigt drei Trinkgeldbeträge an. Um die Trinkgeldfunktion auf Ihrem BBPOS WisePad 3 zu verwenden, müssen Sie eine der folgenden Versionen des Terminal SDK verwenden: - Android SDK 2.8.1 oder höher - iOS SDK 2.16.1 oder höher #### Intelligente Tipps vorschlagen Sie können auf dem Lesegerät drei Trinkgeldprozentsätze oder drei Trinkgeldbeträge vorschlagen. Das Lesegerät zeigt dynamisch einen dieser intelligenten Trinkgeldbeträge an, abhängig von einem Schwellenwert für den Betrag vor dem Trinkgeld. Erstellen oder aktualisieren Sie ein `Configuration`-Objekt wie folgt. Standardmäßig werden die prozentualen Trinkgelder nach Steuern berechnet. Um Trinkgelder vor Steuern vorzuschlagen, können Sie einen alternativen [anrechnungsfähigen Betrag](https://docs.stripe.com/terminal/features/collecting-tips/on-reader.md#tip-eligible) angeben. ```curl curl https://api.stripe.com/v1/terminal/configurations \ -u "<>:" \ -d "tipping[usd][percentages][]"=15 \ -d "tipping[usd][percentages][]"=20 \ -d "tipping[usd][percentages][]"=25 \ -d "tipping[usd][fixed_amounts][]"=100 \ -d "tipping[usd][fixed_amounts][]"=200 \ -d "tipping[usd][fixed_amounts][]"=300 \ -d "tipping[usd][smart_tip_threshold]"=1000 ``` Beim oben angeführten Beispiel wählt das dynamisch einen Vorschlag aus: - Liegt der Betrag vor Trinkgeld unter dem `smart_tip_threshold` (10 USD), zeigt das Lesegerät drei Schaltflächen mit den Vorschlägen 1 USD, 2 USD oder 3 USD von oben nach unten an. - Liegt der Betrag vor Trinkgeld beim `smart_tip_threshold` (10 USD) oder darüber, zeigt das Lesegerät drei Schaltflächen mit den Vorschlägen 15, 20 oder 25 % von oben nach unten an. #### Prozentsätze vorschlagen Sie können drei Trinkgeldprozentsätze auf dem Lesegerät vorschlagen. Das Lesegerät zeigt diese prozentualen Trinkgeldbeträge in der Reihenfolge an, die beim Erstellen oder Aktualisieren des `Configuration`-Objekts angegeben wurde. Standardmäßig werden diese Trinkgelder nach Steuern berechnet. Um Trinkgelder vor Steuern vorzuschlagen, können Sie einen alternativen [anrechnungsfähigen Betrag](https://docs.stripe.com/terminal/features/collecting-tips/on-reader.md#tip-eligible) angeben. ```curl curl https://api.stripe.com/v1/terminal/configurations \ -u "<>:" \ -d "tipping[usd][percentages][]"=15 \ -d "tipping[usd][percentages][]"=20 \ -d "tipping[usd][percentages][]"=25 ``` Beim oben angeführten Beispiel schlägt das Lesegerät drei Trinkgeldbeträge vor, der Reihe von oben nach 15, 20 oder 25 % des Betrags vor Trinkgeld. #### Beträge vorschlagen Sie können drei Trinkgeldbeträge auf dem Lesegerät vorschlagen. Für Zahlungen in USD zeigt das Lesegerät diese Trinkgeldbeträge in der Reihenfolge an, die beim Erstellen oder Aktualisieren des `Configuration`-Objekts angegeben wurde. ```curl curl https://api.stripe.com/v1/terminal/configurations \ -u "<>:" \ -d "tipping[usd][fixed_amounts][]"=100 \ -d "tipping[usd][fixed_amounts][]"=200 \ -d "tipping[usd][fixed_amounts][]"=300 ``` Beim oben angeführten Beispiel schlägt das Lesegerät der Reihe von oben 1 USD, 2 USD oder 3 USD als Trinkgeldbeträge vor. Wenn Sie mehr als eine Währung in Ihrem `Configuration`-Objekt angeben, müssen Sie für jede Währung dieselben Konfigurationsschlüssel angeben. Mit anderen Worten, wenn Sie nur `percentages` für `USD` angeben, dürfen Sie für andere Währungen nicht `fixed_amounts` oder `smart_tip_threshold` angeben. Nach Erstellen eines `Configuration`-Objekts mit Ihrer Trinkgeldkonfiguration können Sie Ihrem Konto oder einem Standort [die Konfiguration zuweisen](https://docs.stripe.com/terminal/fleet/configurations-overview.md?dashboard-or-api=api#create-a-configuration-for-an-individual-location). BBPOS WisePad 3-Lesegeräte erhalten neue oder aktualisierte Konfigurationen, wenn sie eine Verbindung zu Ihrer POS-Anwendung herstellen. Es kann bis zu 5 Minuten dauern, bis BBPOS WisePOS E-Lesegeräte neue oder aktualisierte Konfigurationen erhalten. ## Zahlung einziehen Um Trinkgeld über das Lesegerät zu geben, beachten Sie die Anweisungen zum [Einziehen von Zahlungen](https://docs.stripe.com/terminal/payments/collect-card-payment.md). Wenn Sie [eine Zahlungsmethode erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#collect-payment), sehen Ihre Kundinnen und Kunden auf dem Lesegerät einen Bildschirm zur Auswahl des Trinkgelds. Dort werden sie aufgefordert, ein Trinkgeld auszuwählen. Anschließend werden sie nach ihrer Zahlungsmethode gefragt. Je nach [Trinkgeldkonfiguration](https://docs.stripe.com/terminal/features/collecting-tips/on-reader.md#customize-tips-reader) können die Kundinnen/Kunden ein vorgeschlagenes Trinkgeld wählen, ein eigenes Trinkgeld angeben oder kein Trinkgeld hinterlassen. Nachdem die Kund/innen ihre Auswahl getroffen haben, wartet das Lesegerät darauf, dass sie ihre Karte vorlegen. Wenn Sie die Zahlung verarbeiten, fügt das Lesegerät das ausgewählte Trinkgeld hinzu. Ist die Zahlung erfolgreich, wird der [Betrag](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-amount) im `PaymentIntent` und der `Charge` so aktualisiert, dass er den Trinkgeldbetrag enthält. Vor einer Bestätigung PaymentIntent wird der Trinkgeldbetrag im Feld `amount_tip` zurückgegeben, aber nicht im Feld `amount`. Nach PaymentIntent Bestätigung wird das Feld `amount_tip` auf Null gesetzt, der `amount` enthält den Trinkgeldbetrag und der Trinkgeldbetrag wird im [amount_details](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-amount_details)-Objekt zurückgegeben: | Szenario | [amount_details.tip.amount](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-amount_details-tip-amount) Rückgabewert | | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | | Trinkgelder über das Lesegerät sind deaktiviert | `null` | | Trinkgelder über das Lesegerät sind aktiviert, kein Trinkgeld ausgewählt | `0` | | Trinkgelder über das Lesegerät sind aktiviert, kein Betrag ausgewählt | Ausgewählter Betrag | Kund/innen sehen in diesen Fällen keinen Trinkgeld-Auswahlbildschirm: 1. Für das `Configuration`-Objekt fehlt eine Trinkgeldkonfiguration. 1. Sie haben `skipTipping` in Ihrer Lesegerätkonfiguration aktiviert. 1. Das Lesegerät befindet sich in einem nicht unterstützten Land. 1. Eine Trinkgeldkonfiguration kann nicht auf die aktuelle Zahlungswährung angewendet werden. Zum Beispiel, wenn die Zahlung in EUR erfolgt, das `Configuration`-Objekt gibt jedoch nur eine Trinkgeldkonfiguration für USD an. Beim [Testen von Zahlungen](https://docs.stripe.com/terminal/references/testing.md#physical-test-cards) mit dem Stripe-Lesegerät, löst der Gesamtbetrag je nach Dezimalwert des Gesamtbetrags (inklusive Trinkgeld) möglicherweise eine Ablehnung aus. ## Trinkgeld überspringen Sie können die Trinkgeldkonfiguration ignorieren. So können Sie den Bildschirm für die Trinkgeldauswahl auf Ihrem Lesegerät ausblenden, wenn Sie Zahlungen einziehen. Sie können den Bildschirm für die Trinkgeldauswahl für einzelne Transaktionen oder temporär für alle Transaktionen ausblenden, sodass Ihre Kund/innen direkt zum Bildschirm für die Kartenabrechnung gelangen können. Angenommen, Ihr Restaurant möchte auf dem Lesegerät Trinkgelder Bestellungen zum Mitnehmen annehmen, aber nur [Trinkgelder auf Papierbelegen](https://docs.stripe.com/terminal/features/collecting-tips/on-receipt.md) für Gäste zulassen, die im Restaurant essen. Verwenden Sie eine der folgenden Optionen, um die Option zum Umgehen des Bildschirms für Trinkgelder zu aktivieren: #### Servergestützt ```curl curl https://api.stripe.com/v1/terminal/readers/tmr_xxx/process_payment_intent \ -u "<>:" \ -d payment_intent="" \ -d "process_config[skip_tipping]"=true ``` #### JavaScript ```js const result = await terminal.collectPaymentMethod( paymentIntent.secret, { config_override: { skip_tipping: true, }, }, ); if ('error' in result) { console.log(`collectPayment failed: ${result.error}`); return; } console.log('collectPayment succeeded'); ``` #### iOS ```swift let collectConfig = try CollectPaymentIntentConfigurationBuilder().setSkipTipping(true).build() let cancelable = Terminal.shared.collectPaymentMethod(intent, collectConfig: collectConfig) { intentWithPaymentMethod, attachError in if let error = attachError { // Placeholder for handling exception } else if let intent = intentWithPaymentMethod { // Placeholder for processing paymentIntent } } ``` #### Android ```kotlin val cancelable = Terminal.getInstance().collectPaymentMethod( paymentIntent, object : PaymentIntentCallback { override fun onSuccess(paymentIntent: PaymentIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } }, CollectPaymentIntentConfiguration.Builder() .skipTipping(true) .build() ) ``` #### React Native ```js const { paymentIntent, error } = await collectPaymentMethod({ paymentIntent: paymentIntent, skipTipping: true, }); if (error) { console.log(`collectPayment failed: ${error.message}`); return; } console.log('collectPayment succeeded'); ``` ## Anrechnungsfähige Beträge ![](https://b.stripecdn.com/docs-statics-srv/assets/wpe-tip-eligible-amount.4c189af877d87bd89aaf405409f16548.png) Beim Einzug einer Zahlung können Sie einen anrechnungsfähigen Betrag festlegen, der sich vom Betrag vor dem Trinkgeld unterscheidet. Durch Festlegen eines zulässigen Trinkgeldbetrags wird der Wert geändert, ab dem das prozentuale Trinkgeld berechnet wird. Dem Kunden/der Kundin wird auf dem Auswahlbildschirm für das Trinkgeld außerdem der Betrag vor dem Trinkgeld angezeigt. Sie können diese Einstellung für Unternehmen nutzen, die neben dem Verkauf von Waren auch Dienstleistungen anbieten. Zum Beispiel möchte ein Salon, der Haarschnitte und Shampoos verkauft, seiner Kundschaft vielleicht mitteilen, dass Trinkgelder nur auf Basis der Haarschnitte berechnet werden. #### Servergestützt ```curl curl https://api.stripe.com/v1/terminal/readers/tmr_xxx/process_payment_intent \ -u "<>:" \ -d payment_intent="" \ -d "process_config[tipping][amount_eligible]"=1500 ``` #### JavaScript ```js const result = await terminal.collectPaymentMethod( paymentIntent.secret, { config_override: { tipping: { eligible_amount: 1500, }, }, }, ); if ('error' in result) { console.log(`collectPayment failed: ${result.error}`); return; } console.log('collectPayment succeeded'); ``` #### iOS ```swift let tippingConfig = try TippingConfigurationBuilder().setEligibleAmount(1500).build() let collectConfig = try CollectPaymentIntentConfigurationBuilder().setTippingConfiguration(tippingConfig).build() let cancelable = Terminal.shared.collectPaymentMethod(intent, collectConfig: collectConfig) { intentWithPaymentMethod, attachError in if let error = attachError { // Placeholder for handling exception } else if let intent = intentWithPaymentMethod { // Placeholder for processing paymentIntent } } ``` #### Android ```kotlin val cancelable = Terminal.getInstance().collectPaymentMethod( paymentIntent, object : PaymentIntentCallback { override fun onSuccess(paymentIntent: PaymentIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } }, CollectPaymentIntentConfiguration.Builder() .setTippingConfiguration( TippingConfiguration.Builder() .setEligibleAmount(1500) .build() ) .build() ) ``` #### React Native ```js const { paymentIntent, error } = await collectPaymentMethod({ paymentIntentId: paymentIntentId, skipTipping: false, tipEligibleAmount: 1500, }); if (error) { console.log(`collectPayment failed: ${error.message}`); return; } console.log('collectPayment succeeded'); ``` Im obigen Beispiel wird ein anrechnungsfähiger Betrag basierend auf der Währung der Zahlung festgelegt. Für eine Zahlung in USD beträgt der anrechenbare Betrag 15 USD. Der Wert von `eligible_amount` muss 0 oder höher sein. Wenn `eligible_amount` gleich 0 ist, wird das Trinkgeld unabhängig vom `skip_tipping`-Wert übersprungen. Wenn `eligible_amount` dem Betrag des PaymentIntent entspricht, wird `eligible_amount` ignoriert und das Trinkgeld wird auf Grundlage des angegebenen Betrags berechnet. > Das Festlegen eines Trinkgeldbetrags, der größer als 0 ist, während versucht wird, die Trinkgeldausgabe zu überspringen, führt zu einem Fehler.