# MOTO-Zahlungen abwickeln

Zahlungen für Bestellungen und telefonische Bestellungen (MOTO) über Stripe Terminal abwickeln.

> #### Zugriff anfordern
> 
> Um mit der Verarbeitung von MOTO-Zahlungen zu beginnen, wenden Sie sich an den [Stripe-Support](https://support.stripe.com/).

# Android


Zur Abwicklung von MOTO-Zahlungen müssen Sie Folgendes tun:

1. [PaymentIntent erstellen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#create-payment-intent).
2. [Eine PaymentMethod erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#collect-payment-method).
3. [Zahlung bestätigen und erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#confirm-capture-payment).

## Erstellen Sie ein PaymentIntent

Zum Einzug einer Post- oder Telefonbezahlung müssen Sie zunächst eine [PaymentIntent](https://docs.stripe.com/payments/payment-intents.md) mit [payment_method_types](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_types) erstellen, die `card` enthält.

#### Kotlin

```kotlin
val params = PaymentIntentParameters.Builder(
    listOf(PaymentMethodType.CARD)
  )
  .setAmount(1000)
  .setCurrency("usd")
  .build()
Terminal.getInstance().createPaymentIntent(
    params,
    object : PaymentIntentCallback {
      override fun onSuccess(paymentIntent: PaymentIntent) {
        // Placeholder for handling successful operation
      }
      override fun onFailure(e: TerminalException) {
        // Placeholder for handling exception
      }
    }
)
```

## Zahlungsmethode erfassen

> Die Prüfziffer ist für MOTO-Transaktionen obligatorisch. Prüfziffern werden in der privaten Vorschau übersprungen und Sie können sie für Versandbestellungen anfordern. Wenden Sie sich an den [Stripe-Support](https://support.stripe.com/), um Zugriff zu erhalten.

Nachdem Sie einen PaymentIntent erstellt haben, können Sie mit dem SDK eine PaymentMethod erfassen. Um eine MOTO-Zahlung einzuziehen, muss Ihre App mit einem Lesegerät verbunden sein.

Um MOTO zu aktivieren, legen Sie für die `CollectPaymentIntentConfiguration` eine `MotoConfiguration` ungleich Null fest.

Nach der Anfrage fordert Sie das verbundene Lesegerät zur Eingabe der Karteninhaber-Nummer, der Prüfziffer, des Ablaufdatums und der Postleitzahl auf.

> Wenn Sie Details des Warenkorbs mit der Methode [setReaderDisplay](https://docs.stripe.com/terminal/features/display.md) anzeigen, müssen Sie die Anzeige des Lesegeräts von einer Einzelpostenschnittstelle auf den Begrüßungsbildschirm zurücksetzen. Erst dann können Sie eine Post- oder Telefonbezahlung einziehen.

#### Kotlin

```kotlin
val config = CollectPaymentIntentConfiguration.Builder()
    .setMotoConfiguration(
        MotoConfiguration.Builder()
            .build()
    )
    .build()

Terminal.getInstance().collectPaymentMethod(
    paymentIntent,
    config,
    object : PaymentIntentCallback {
      override fun onSuccess(paymentIntent: PaymentIntent) {
        // Placeholder for handling successful operation
      }
      override fun onFailure(e: TerminalException) {
        // Placeholder for handling exception
      }
    }
)
```

## Zahlung bestätigen und erfassen

Sie können wie gewohnt vorgehen, um den PaymentIntent zu [bestätigen](https://docs.stripe.com/terminal/payments/collect-card-payment.md?process=inspect#confirm-payment) und zu [erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#capture-payment).

## Testen

Verwenden Sie das *simulierte Lesegerät* (Stripe Terminal SDKs and server-driven integrations come with a built-in simulated card reader, so you can develop and test your app without connecting to physical hardware. Whether your integration is complete or you're still building it, use the simulated reader to emulate all the Terminal flows in your app) und [simulierte Testkartennummern](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards), um Ihre Integration zu testen.

