# Nicht erfasste Zahlungen überprüfen Erfahren Sie, wie Sie Prüfungen verwenden, wenn Sie in Ihrer Stripe-Integration die Authentifizierung und Erfassung nutzen. Standardmäßig erstellen Sie [Zahlungen](https://docs.stripe.com/payments/accept-a-payment.md) in einem Schritt. Sie brauchen nichts weiter zu tun, um Geldmittel auf Ihr Bankkonto zu überweisen. Stripe unterstützt auch Zahlungen in zwei Schritten, die oft als [Autorisierung und Erfassung](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) bezeichnet werden. Wenn Ihre Integration diese Methode verwendet, sind das Genehmigen einer Prüfung und das Erfassen einer Zahlung separate Aktionen. Ihr Erfassungsfenster für genehmigte Zahlungen variiert je nach [Kartenmarke](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md#authorization-validity-windows), potenziellen [längeren Haltezeiträumen](https://docs.stripe.com/payments/extended-authorization.md) und [Art der Zahlungsmethoden](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md#auth-capture-limitations). ## Prüfen Sie nicht erfasste Zahlungen im Dashboard Wenn wir eine nicht erfasste Zahlung in die Prüfung geben, zeigt das Stripe-Dashboard eine Schaltfläche **Erfassen** neben Schaltflächen zum Genehmigen oder Stornieren der Prüfung an. Bei nicht erfassten Zahlungen wird eine Schaltfläche **Stornieren** anstelle einer Schaltfläche **Rückerstatten** angezeigt, da das Stornieren einer nicht erfassten Zahlung die Autorisierung aufhebt, ohne ein [Rückerstattungsobjekt](https://docs.stripe.com/api/refunds.md) zu erstellen. > Durch das Genehmigen der Prüfung wird die Zahlung nicht automatisch erfasst. Sie müssen dafür auf **Erfassen** klicken. ![](https://b.stripecdn.com/docs-statics-srv/assets/uncaptured-payment.b9aab5781bebea8e1cc8f349dc2092bf.png) ## Verwenden Sie die API, um genehmigte Zahlungen automatisch zu erfassen. Über die API können Sie Ihre Integration so einrichten, dass: - Zahlungen, die sich *nicht* im Status `review` befinden, sofort erfassen. - Zahlungen, die sich im Status `review` befinden, unerfasst lassen. - Die Zahlung sofort erfassen, wenn die Prüfung genehmigt wurde. ### Zahlungen, die nicht zur Prüfung vorgelegt wurden, sofort erfassen Legen Sie den Wert für `capture_method` in Ihrer API-Anfrage fest, um eine nicht erfasste Zahlung zu erstellen. Nach einer erfolgreichen Anfrage prüfen Sie das Attribut [review](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-review) im PaymentIntent. Wenn es leer ist, erfassen Sie die Zahlung. #### Ruby ```ruby # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. client = Stripe::StripeClient.new('<>') # Get the credit card details submitted by the form # Create a PaymentIntent with manual capture payment_intent = client.v1.payment_intents.create({ amount: 1000, currency: 'usd', payment_method: '{{PAYMENT_METHOD_ID}}', description: 'Example charge', confirm: true, capture_method: 'manual', }) # Check if the payment is in review. If not, capture it. if !payment_intent.review client.v1.payment_intents.capture(payment_intent.id) end ``` ### Erfassen Sie eine Zahlung, nachdem eine Prüfung genehmigt wurde Im vorherigen Schritt haben Sie Zahlungen im Status `review` belassen und nicht erfasst. Verwenden Sie *Webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests), um diese Zahlungen nach der Genehmigung automatisch zu erfassen. Konfigurieren Sie Ihre Webhooks so, dass sie auf das Ereignis `review.closed` warten. Das Ereignis enthält das [Prüfungsobjekt](https://docs.stripe.com/api.md#review_object) und das Attribut `reason` gibt an, ob die Prüfung genehmigt oder aus einem anderen Grund geschlossen wurde (z.B. weil die Zahlung zurückerstattet wurde). ```json // Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" } ``` Die Zahlung kann erfasst werden, wenn das Attribut `reason` den Wert `approved` hat. ```ruby # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. client = Stripe::StripeClient.new('<>') post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = client.v1.events.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = client.v1.payment_intents.retrieve(review.payment_intent) client.v1.payment_intents.capture(pi.id) end end status 200 end ```