# 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('<<YOUR_SECRET_KEY>>')

# 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('<<YOUR_SECRET_KEY>>')

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
```
