Entfernungsauftrag abschließenÖffentliche Vorschau
Erfahren Sie, wie Sie Ihren ersten Entfernungsauftrag ausführen können.
In diesem Beispiel werden Entfernungsaufträge verwendet, um die persönlichen Daten eines Kunden/einer Kundin zu schwärzen. Dadurch wird Ihr Zugriff auf diese Daten in der Stripe API und im Dashboard entfernt.
Ersten Auftrag erstellen und Testkunden/Testkundin schwärzen
Das RedactionJob-Objekt ist das primäre Objekt, mit dem Sie interagieren, und die zentrale Abstraktion zur Verwaltung aller Entfernungsanfragen. Sie können das RedactionJob-Objekt verwenden, um Objekte von Interesse anzugeben, sie zu überprüfen, um sicherzustellen, dass sie zulässig sind, und dann die Schwärzung auszuführen.
Nachdem Sie einen Auftrag erstellt haben, wird mit der Überprüfung der Eignung der bereitgestellten Objekte für die Entfernung begonnen. Bei Customer
-Objekten identifiziert der Entfernungsauftrag alle mit diesem Kunden/dieser Kundin verbundenen Objekte, einschließlich PaymentIntents, Zahlungen, Abonnements, Rechnungen, PaymentMethods, Benachrichtigungen usw. Einige dieser Objekte können Hunderte von Datensätzen aufweisen, die direkt damit korrelieren, wie häufig ein Kunde/eine Kundin Einkäufe tätigen oder Zahlungsdetails hinzufügen kann.
Sie können zwar zusätzliche Kennungen für Objekte angeben, die demselben Kunden/derselben Kundin gehören, müssen diese jedoch nicht explizit definieren. Wir haben ein Limit von 10 Objektkennungen, die in jedem neuen Auftrag geschwärzt werden müssen.
Einen Kunden/Eine Kundin mit Testdaten einrichten
Erstellen Sie vordem Entfernungsauftrag zunächst einen Testkunden/eine Testkundin im Test-Modus. Navigieren Sie zum [Stripe-Dashboard[(https://dashboard.stripe.com/test/customers) klicken Sie auf Kunden/Kundin hinzufügen und geben Sie einige Testinformationen in das Dialogfeld ein. Nachdem Sie die Kundin/den Kunden erstellt haben, kopieren Sie die cus_
-ID.
Sie können das Stripe-Dashboard oder die API verwenden, um zusätzliche Objekte zu erstellen, die Ihre Stripe-Integration verwendet, z. B. PaymentIntents
, Charges
, PaymentMethods
, wiederkehrende Subscriptions
usw. Wir erstellen einen grundlegenden, nicht bestätigten PaymentIntent
für dieses Customer
-Objekt wie folgt:
Weitere Informationen finden Sie im Integrationsleitfaden für Payment Intents.
Bei dieser ersten Ausführung lassen Sie diesen PaymentIntent unvollständig, um später eine Funktion des Auftrags nachzuweisen. Wenn Sie den Kunden/die Kundin im Dashboard anzeigen, sehen Sie in etwa Folgendes:

Nicht bestätigte Zahlung im Dashboard
Einen Entfernungsauftrag erstellen
Nachdem Sie nun eine Kundin/einen Kunden mit einigen zusätzlichen zu schwärzenden Objekten haben, erstellen Sie einen Entfernungsauftrag mit der Test-Kunden-ID. Die Anfrage sieht folgendermaßen aus:
{ "id": "prj_xxx", "object": "privacy.redaction_job", "created": 1234567890, "livemode": false, "status": "validating", "validation_behavior": "error" }
Standardmäßig ist validation_
auf error
festgelegt. Dies ist konfigurierbar und weitere Details finden Sie in den nächsten Schritten des Leitfadens.
Anzeigen des Entfernungsauftrags-Objekts
Wenn sich der Status eines Auftrags ändert, sendet Stripe einen Webhook. Sie können Webhook-Ereignisse im Stripe-Dashboard anzeigen. Weitere Details finden Sie in der Webhook-Dokumentation.
Sie können auch Entfernungsauftrag abrufen verwenden, um den Status des Auftrags zu überprüfen:
Der Auftrag befindet sich im Status validating
. Das bedeutet, dass der Auftrag derzeit prüft, ob das bereitgestellte Objekt und zugehörige Objekte geschwärzt werden können. Dieser Vorgang kann einige Zeit in Anspruch nehmen, je nachdem, wie viele Objekte mit dem angegebenen Objekt verknüpft sind.
Wenn der Job keine Fehler oder Einschränkungen findet, wechselt der Status zu ready
. Andernfalls ändert sich der Status in failed
.
Wenn Sie den PaymentIntent zu einem früheren Zeitpunkt erstellt und als unvollständig belassen haben, wird der Status failed
angezeigt.
Auf Validierungsfehler prüfen
Wenn ein Auftrag fehlschlägt, können Sie mithilfe des Endpoints für Validierungsfehler nach der Fehlerliste suchen. Der zuvor erstellte unvollständige PaymentIntent zeigt Ihnen die folgende Antwort.
{ "object": "list", "data": [ { "id": "prjve_123", "object": "privacy.redaction_job_validation_error", "code": "invalid_state", "erroring_object": { "id": "pi_123", "object_type": "payment_intent" }, "message": "PaymentIntent is not finalized. Confirm or cancel the payment intent." } ], "has_more": false, "url": "/v1/privacy/redaction_jobs/:job/validation_errors" }
Die Fehlermeldungen verraten Ihnen, warum Sie ein Objekt nicht schwärzen können. Diese Einschränkungen ergeben sich aus der Frage, ob wir die Schwärzung des Objekts und das Produktverhalten unterstützen können. Das Schwärzen einiger Objekte kann unterschiedliche Ergebnisse haben, daher ist gewisses Handeln Ihrerseits erforderlich, bevor Sie die Objekte schwärzen können. In diesem Beispiel können Sie die erforderliche Aktion mithilfe der Stripe API oder des Dashboards ausführen, indem Sie den Payment Intent bestätigen oder stornieren. Wenn Sie keinen geschäftlichen Grund haben, die Kundendaten zu pflegen, können Sie je nach Anwendungsszenario das Verhalten für die Validierung des Schwärzungsauftrags verwenden, um unsere empfohlenen Korrekturen automatisch anzuwenden.
Validierungsverhalten
Wir haben zwei Modi für das Validierungsverhalten: error
und fix
. Sie können den Modus wie folgt aktualisieren:
{ "id": "prj_xxx", "object": "privacy.redaction_job", "created": 1234567890, "livemode": false, "status": "failed", "validation_behavior": "fix" }
Bei Bedarf können Sie das validation_
auch auf error
zurücksetzen:
Durch das Festlegen des Validierungsverhaltens wird nur die Konfiguration und nichts anderes geändert. Die Korrekturaktion gilt beim Ausführen des Auftrags. Behandeln Sie die Korrekturvalidierung als destruktives Verhalten. Sie können die Liste der Korrekturen und die zugehörigen Korrekturen einsehen.
Einen Entfernungsauftrag erneut validieren
Wenn ein Auftrag nicht validiert werden kann, verbleibt er im Status failed
. Nachdem Sie alle Validierungsfehler behoben haben, entweder durch validation_
oder manuelle Änderungen, validieren Sie den Auftrag.
{ "id": "prj_xxx", "object": "privacy.redaction_job", "created": 1234567890, "livemode": false, "status": "validating", "validation_behavior": "fix" }
Im PaymentIntent-Beispiel wird der Validierungsfehler mithilfe des Verhaltens „Validierung beheben“ korrigiert. Wenn Sie versuchen, Objekte in anderen Stripe Produkten zu schwärzen, wiederholen Sie den Schritt, um nach Validierungsfehlern zu suchen, bis Sie alle Validierungsfehler behoben haben und der Status des Jobs ready
ist.
{ "id": "prj_xxx", "object": "privacy.redaction_job", "created": 1234567890, "livemode": false, "status": "ready", "validation_behavior": "fix" }
Entfernungsauftrag ausführen
Nachdem sich der Job im Status ready
befindet, können Sie ihn ausführen. Dadurch wird Ihr Auftrag in den Status redacting
versetzt. Es besteht kein weiterer Handlungsbedarf.
{ "id": "prj_xxx", "object": "privacy.redaction_job", "created": 1234567890, "livemode": false, "status": "redacting", "validation_behavior": "fix" }
Nach Abschluss der Validierung wechselt der Status zu succeeded
.
{ "id": "prj_xxx", "object": "privacy.redaction_job", "created": 1234567890, "livemode": false, "status": "succeeded", "validation_behavior": "fix" }
Außerdem werden die zugehörigen Objekte aus dem Dashboard und der API entfernt.
{ "id": "cus_xxx", "object": "customer", "deleted": true }
{ "id": "pi_xxx", "object": "payment_intent", "amount": 999, ... "amount_received": 999, ... "confirmation_method": "automatic", "created": 1234567890, "currency": "usd", "customer": "cus_xxx", "description": "[redacted]", "last_payment_error": null, "latest_charge": "ch_xxx", ... "payment_method": "pm_xxx", "payment_method_configuration_details": { "id": "pmc_xxx", "parent": null }, ... }
Entfernungsauftrag abbrechen
Nach der Validierung und vor der Schwärzung können Sie den Auftrag jederzeit abbrechen und alle Änderungen verwerfen. Es kann jeweils nur ein Auftrag mit einem Objekt interagieren. Wenn Sie also mehrere Aufträge direkt oder implizit bearbeiten, führt dies zu einem Fehler für die späteren Aufträge. Durch Abbrechen eines Auftrags wird das Objekt freigegeben, und andere Aufträge können das Objekt erneut entfernen.
Der Beispielauftrag mit dem PaymentIntent wurde bereits ausgeführt, Sie können diesen daher nicht abbrechen. Um dies zu testen, erstellen Sie einen neuen Entfernungsauftrag und brechen Sie diesen wie folgt ab:
Wenn ein Validierungsfehler angezeigt wird, der besagt, dass dieses Objekt von einem anderen aktiven Auftrag verarbeitet wird, können Sie die Objekte freigeben, indem Sie diesen Auftrag abbrechen.
Einen Kunden/Eine Kundin finden
Um Informationen zu einer Person zu schwärzen, identifizieren Sie die zugehörige ‘Customer’-Objektkennung. Sie können diese mithilfe des Endpoints für die Kundensuche, der Kundenseite auf dem Dashboard oder der Suchleiste im Dashboard oben auf der Seite finden.
Nachdem Sie den Kunden/die Kundin gefunden haben, kopieren Sie seine/ihre ID. Wenn Sie das Dashboard verwenden, können Sie einfach unter der Kunden-ID klicken, um sie zu kopieren.