# Transaktionen in Issuing Erfahren Sie, wie Sie mit Issuing Transaktionen verarbeiten können. Nachdem eine [Autorisierung](https://docs.stripe.com/issuing/purchases/authorizations.md) genehmigt und erfasst wurde, wird der `status` der Autorisierung auf `closed` gesetzt und es wird ein [Transaction](https://docs.stripe.com/api.md#issuing_transaction_object)-Objekt erstellt. Das geschieht in der Regel innerhalb von 24 Stunden. Hotels, Fluggesellschaften und Autovermietungen können die Erfassung jedoch noch bis zu 31 Tage nach der Autorisierung durchführen. Bei der Erfassung einer Autorisierung passieren zwei Dinge. - Der `status` der Autorisierung wird auf `closed` gesetzt, wodurch der von dieser Autorisierung zurückgehaltene Kaufbetrag freigegeben wird. Zu diesem Zweck wird eine [Saldo-Transaktion](https://docs.stripe.com/reports/balance-transaction-types.md) vom Typ `issuing_authorization_release` erstellt. - Ein neues Transaction-Objekt vom Typ `capture` wird erstellt. Der Kaufbetrag wird von dem [Guthaben, das Sie für Issuing verwenden](https://docs.stripe.com/issuing/funding/balance.md) abgezogen. (See full diagram at https://docs.stripe.com/issuing/purchases/transactions) Für [Ausgabenkontrollen](https://docs.stripe.com/issuing/controls/spending-controls.md), [Autorisierung in Echtzeit](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) und Kartenstatus (ob eine Karte aktiv ist oder nicht) erfolgt kein Antrag auf Erfassung. Sie können verwendet werden, um festzulegen, ob Autorisierungen genehmigt werden, Erfassungen für genehmigte Autorisierungen sind jedoch immer erfolgreich. ## Andere Transaktionen verarbeiten Es gibt neben den regulären Transaktionen auch einige andere Transaktionsarten, die Sie verarbeiten können sollten. #### Rückerstattungen Rückerstattungen sind Transaktionen mit dem `type` `refund`. Wenn wir eine Transaktion erstellen, die eine Rückerstattung oder eine Gutschrift darstellt, versuchen wir, diese mit der ursprünglichen Zahlungsautorisierung zu verknüpfen. Rückerstattungen sind nicht unbedingt mit der ursprünglichen Zahlungstransaktion oder Autorisierung verknüpft, sodass die Verknüpfung eine ungenaue Angelegenheit ist. Infolgedessen kann es vorkommen, dass wir eine Verknüpfung mit einer nicht zugehörigen Autorisierung herstellen oder überhaupt keine Verknüpfung herstellen können (z. B. wenn auf der Karte ein Betrag gutgeschrieben und nicht zurückerstattet wurde). In diesen Fällen wird das Feld `authorization` der Transaktion auf `null` gesetzt, und die Transaktion wird nicht mit der Autorisierung verknüpft. Wir verarbeiten alle Rückerstattungen und Gutschriften auf die gleiche Weise, unabhängig von ihrer Verknüpfung mit einer Zahlungsautorisierung. > Rückerstattungen werden auch dann bearbeitet und Ihnen gutgeschrieben, wenn der [Status](https://docs.stripe.com/api/issuing/cards/object.md#issuing_card_object-status) Ihrer Karte `inaktiv` oder `gesperrt` ist. ### Beispiel für eine Standardrückerstattung ```json { "id": "ipi_1GTG10EEsyYlpYZ9VJn2xV3B", "object": "issuing.transaction","amount": 100, "authorization": "iauth_1GBZQyEEsyYlpYZ9255L8GQC", "balance_transaction": null, "card": "{{CARD_ID}}", "cardholder": null, "created": 1585783834, "currency": "usd", "livemode": false, "merchant_amount": 100, "merchant_currency": "usd", "merchant_data": { "category": "taxicabs_limousines", "city": "San Francisco", "country": "US", "name": "Rocket Rides", "network_id": "1234567890", "postal_code": "94111", "state": "CA", "url": null }, "metadata": {},"type": "refund" } ``` ### Storno von Rückerstattungen In seltenen Fällen kann es erforderlich sein, eine Rückerstattung zu stornieren. Dies tritt in der Regel auf, wenn doppelte Rückerstattungen verarbeitet wurden und eine davon storniert werden muss. Stornos von Rückerstattungen werden als Transaktionen dargestellt, bei denen der `Typ` auf `Rückerstattung` gesetzt ist und das Feld `Betrag` einen negativen Wert aufweist (bei Standardrückerstattungen ist das Feld `Betrag` positiv). Wenn ein/e Händler/in beispielsweise versehentlich zwei Rückerstattungen in Höhe von 17,70 USD für dieselbe Transaktion verarbeitet, erstellt das System eine Stornotransaktion für die Rückerstattung in Höhe von -17,70 USD (oder einem ähnlichen Betrag unter Berücksichtigung von Wechselkursdifferenzen), um eine der doppelten Rückerstattungen zu stornieren. ```json { "id": "ipi_1SftmD05sFo7Lo8prb0oyBgc", "object": "issuing.transaction","amount": -1770, "authorization": "iauth_1GBZQyEEsyYlpYZ9255L8GQC", "balance_transaction": null, "card": "{{CARD_ID}}", "cardholder": null, "created": 1585783834, "currency": "usd", "livemode": false, "merchant_amount": -1770, "merchant_currency": "usd", "merchant_data": { "category": "taxicabs_limousines", "city": "San Francisco", "country": "US", "name": "Rocket Rides", "network_id": "1234567890", "postal_code": "94111", "state": "CA", "url": null }, "metadata": {},"type": "refund" } ``` ### Rückerstattungen testen Um die Erstellung einer Rückerstattungstransaktion zu simulieren, können Sie die [Transaction Refund API](https://docs.stripe.com/api/issuing/transactions/test_mode_refund.md) in den Testhilfen von Issuing verwenden. ```curl curl -X POST https://api.stripe.com/v1/test_helpers/issuing/transactions/{{ISSUINGTRANSACTION_ID}}/refund \ -u "<>:" ``` Um eine Rückerstattungstransaktion zu erstellen, die nicht mit einer Autorisierung verknüpft ist, verwenden Sie die [Create Unlinked Refund API](https://docs.stripe.com/api/issuing/transactions/test_mode_create_unlinked_refund.md) in den Testhilfen von Issuing. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/transactions/create_unlinked_refund \ -u "<>:" \ -d "card={{ISSUINGCARD_ID}}" \ -d amount=1000 ``` #### Anteilige Erfassungen Händler können einen Betrag erfassen, der unter dem autorisierten Betrag liegt. Daher kann es vorkommen, dass für eine Transaktion ein Betrag angezeigt wird, der unter der damit verbundenen Autorisierung liegt. In diesem Fall entspricht der von Stripe für eine Autorisierung zurückgehaltene Geldbetrag der Differenz des Autorisierungsbetrags und aller damit verbundenen Beträge der Erfassungstransaktionen. ### Tests Um die Erfassung einer Autorisierung zu simulieren, die unter dem autorisierten Betrag liegt, können Sie die [Authorization Capture API](https://docs.stripe.com/api/issuing/authorizations/test_mode_capture.md) in den Testhilfen für Issuing verwenden. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/authorizations/{{ISSUINGAUTHORIZATION_ID}}/capture \ -u "<>:" \ -d capture_amount=1000 ``` #### Übererfassungen In einigen [Händlerkategorien](https://docs.stripe.com/issuing/categories.md) (darunter Autovermietungen, Bars und Restaurants oder Transportunternehmen) ist der endgültige Transaktionsbetrag zum Zeitpunkt der Transaktion noch nicht bekannt. Diese Unternehmen können eine Karte für einen vorläufigen Betrag autorisieren und später höhere Beträge erfassen. In einem Restaurant wird zum Beispiel oft ein Rechnungsbetrag autorisiert und dann ein Betrag erfasst, der das Trinkgeld enthält. In diesem Fall ist der autorisierte Betrag eine relativ genaue Schätzung des zu erfassenden Betrags. Beim Transportwesen ist der autorisierte Betrag jedoch in der Regel ein Mindestbetrag, während der erfasste Betrag die tatsächliche Transaktion des Karteninhabers widerspiegelt. Manchmal ist der zusätzlich erfasste Betrag zu hoch und könnte betrügerischer Natur sein. Sie (bzw. Ihre Karteninhaber/innen) sind dafür verantwortlich, unrechtmäßige Transaktionen zu erkennen und [anzufechten](https://docs.stripe.com/issuing/purchases/disputes.md). Da die Übererfassungen oft aber legitim sind, können Sie diese Transaktionen nicht grundsätzlich sperren. ### Tests Um die Erfassung einer Autorisierung oberhalb des autorisierten Betrags zu simulieren, können Sie die [Authorization Capture API](https://docs.stripe.com/api/issuing/authorizations/test_mode_capture.md) in den Testhilfen für Issuing verwenden. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/authorizations/{{ISSUINGAUTHORIZATION_ID}}/capture \ -u "<>:" \ -d capture_amount=1000 ``` #### Mehrfacherfassungen Bestimmte [Händlerkategorien](https://docs.stripe.com/issuing/categories.md) (darunter Fluggesellschaften, Reedereien oder Bahnunternehmen) genehmigen möglicherweise eine Transaktion und erfassen die Gelder dann mehrfach. Dies kann der Fall sein, wenn Sie mehrere Artikel kaufen, die separt versandt werden, sobald sie verfügbar sind. Dies hat zur Folge, dass mehrere [Webhook-Ereignisse](https://docs.stripe.com/api/events/types.md#event_types-issuing_authorization.updated) des Typs `issuing_authorization.updated` und mehrere [Transaktionen](https://docs.stripe.com/api.md#issuing_transaction_object) erstellt werden. ### Tests Um die mehrfache Erfassung einer Autorisierung zu simulieren, können Sie die [Authorization Capture API](https://docs.stripe.com/api/issuing/authorizations/test_mode_capture.md) in den Testhilfen für Issuing verwenden. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/authorizations/{{ISSUINGAUTHORIZATION_ID}}/capture \ -u "<>:" \ -d capture_amount=1000 \ -d close_authorization=false ``` Sie können die Autorisierung wiederholt erfassen, während Sie `close_authorization = false` festlegen. Um die Autorisierung zu schließen, legen Sie den Wert entweder auf `true` fest oder lassen Sie den Parameter weg. #### Erzwungene Erfassungen Händler/innen können eine Erfassung trotz abgelehnter Autorisierung oder sogar ohne Autorisierung einleiten. In beiden Fällen erstellt Stripe Transaction-Objekte und wir buchen den erfassten Betrag wird von Ihrem Issuing-Guthaben ab und senden ihn an den/die Händler/in. Wenn wir keine Autorisierungsanfrage für die Erfassung erhalten haben, sind die Transaktionsobjekte nicht mit einem Authorization-Objekt verknüpft. Manchmal beziehen sich diese Transaktionen auf legitime Käufe, in anderen Fällen aber auf nicht autorisierte Käufe oder betrügerisches Verhalten. Sie (bzw. Ihre Karteninhaber/innen) sind dafür verantwortlich, unrechtmäßige Transaktionen zu erkennen und [anzufechten](https://docs.stripe.com/issuing/purchases/disputes.md). Da manche dieser Transaktionen legitim sind, können Sie sie nicht grundsätzlich sperren. Ein Beispiel für eine rechtmäßige Transaktion ohne Autorisierung sind Zahlungen in einem Flugzeug. Die Terminals in Flugzeugen sind normalerweise nicht mit dem Internet verbunden, sodass bei Käufen im Flugzeug keine Autorisierungen erstellt werden können. Es werden aber Transaktionen erstellt, die nach der Landung des Flugzeugs übermittelt werden. ```json { "id": "ipi_1GTG10EEsyYlpYZ9VJn2xV3B", "object": "issuing.transaction", "amount": -100,"authorization": null, "balance_transaction": null, "card": "{{CARD_ID}}", "cardholder": null, "created": 1585783834, "currency": "usd", "livemode": false, "merchant_amount": -100, "merchant_currency": "usd", "merchant_data": { "category": "airlines_air_carriers", "city": "San Francisco", "country": "US", "name": "Rocket Rides", "network_id": "1234567890", "postal_code": "94111", "state": "CA", "url": null }, "metadata": {}, "type": "capture" } ``` ### Testen Um die Erstellung einer erzwungenen Erfassung zu simulieren, können Sie die [Transaction Create Force Capture API](https://docs.stripe.com/api/issuing/transactions/test_mode_create_force_capture.md) in den Testhilfen für Issuing verwenden. ```curl curl https://api.stripe.com/v1/test_helpers/issuing/transactions/create_force_capture \ -u "<>:" \ -d "card={{ISSUINGCARD_ID}}" \ -d amount=100 ```