# 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/). # Servergestützt > This is a Servergestützt for when terminal-sdk-platform is server-driven. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/payments?terminal-sdk-platform=server-driven. Um MOTO-Zahlungen mit einer servergestützten Integration zu verarbeiten, müssen Sie: 1. [PaymentIntent erstellen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#create-payment-intent). 1. [Zahlung abwickeln](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#process-payment). 1. [Status des Lesegeräts verifizieren](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#verify-reader-state). 1. [Zahlung erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#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. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d currency=usd \ -d "payment_method_types[]=card" \ -d capture_method=automatic \ -d amount=1000 ``` ## Zahlung abwickeln > 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, verwenden Sie [process_payment_intent](https://docs.stripe.com/api/terminal/readers/process_payment_intent.md) zur Abwicklung der Zahlung und setzen [process_config[moto]](https://docs.stripe.com/api/terminal/readers/process_payment_intent.md#process_payment_intent-process_config) auf `true`. ```curl curl https://api.stripe.com/v1/terminal/readers/{{TERMINALREADER_ID}}/process_payment_intent \ -u "<>:" \ -d "payment_intent={{PAYMENTINTENT_ID}}" \ -d "process_config[moto]=true" ``` Die Anfrage [process_payment_intent](https://docs.stripe.com/api/terminal/readers/process_payment_intent.md) ist asynchron. Nach der Anfrage fordert Sie das 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. ## Status des Lesegeräts verifizieren Ihre Anwendung muss die Anweisungen zur [Verifizierung des Status des Lesegeräts](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=server-driven&reader=wpe#verify-reader) befolgen, um eine erfolgreiche (genehmigte) Zahlung zu bestätigen. ## Zahlung erfassen Sie müssen [Erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=server-driven#capture-payment) aufrufen, um die Zahlung abzuschließen, wenn der `PaymentIntent` den Status `requires_capture` hat. ## Testen Verwenden Sie das [simulierte Lesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-card-presentment) und die [simulierten Testkartennummern](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards), um Ihre Integration zu testen. # iOS > This is a iOS for when terminal-sdk-platform is ios. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/payments?terminal-sdk-platform=ios. 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). 1. [Eine PaymentMethod erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#collect-payment-method). 1. [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. #### Swift ```swift let params = try PaymentIntentParametersBuilder(amount: 1000, currency: "usd") .setPaymentMethodTypes([.card]) .build() Terminal.shared.createPaymentIntent(params) { createResult, createError in if let error = createError { print("createPaymentIntent failed: \(error)") } else if let paymentIntent = createResult { print("createPaymentIntent succeeded") // ... } } ``` ## 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` fest, die nicht Null ist. 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. #### Swift ```swift let motoConfig = try MotoConfigurationBuilder().build() let config = try CollectPaymentIntentConfigurationBuilder().setMotoConfiguration(motoConfig).build() Terminal.shared.collectPaymentMethod(paymentIntent, config) { intentWithPaymentMethod, attachError in if let error = attachError { print("collectPaymentMethod failed: \(error)") } else if let paymentIntent = intentWithPaymentMethod { print("collectPaymentMethod succeeded") // ... } } ``` ## Zahlung bestätigen und erfassen Sie können das übliche Verfahren befolgen, um den PaymentIntent zu [bestätigen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#confirm-payment) und zu [erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#capture-payment). ## Testen Verwenden Sie das [simulierte Lesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) und die [simulierten Testkartennummern](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards), um Ihre Integration zu testen. # Android > This is a Android for when terminal-sdk-platform is android. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/payments?terminal-sdk-platform=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). 1. [Eine PaymentMethod erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#collect-payment-method). 1. [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 das übliche Verfahren befolgen, um den PaymentIntent zu [bestätigen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#confirm-payment) und zu [erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#capture-payment). ## Testen Verwenden Sie das [simulierte Lesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) und die [simulierten Testkartennummern](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards), um Ihre Integration zu testen. # JavaScript > This is a JavaScript for when terminal-sdk-platform is js. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/payments?terminal-sdk-platform=js. 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). 1. [Eine PaymentMethod erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#collect-payment-method). 1. [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. Erstellen Sie den PaymentIntent für Ihr Backend. Der PaymentIntent enthält ein [Client-Geheimnis](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-client_secret), einen Schlüssel, der für jeden PaymentIntent einmalig ist. Um das Client-Geheimnis zu verwenden, müssen Sie es vom PaymentIntent auf Ihrem Server abrufen und [an den Client übergeben](https://docs.stripe.com/payments/payment-intents.md#passing-to-client). ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d currency=usd \ -d "payment_method_types[]=card" \ -d capture_method=automatic \ -d amount=1000 ``` ## 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. Setzen Sie `moto` im `CollectConfiguration`-Objekt auf `true`, wenn Sie `collectPaymentMethod` aufrufen. 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. ```js async () => { // Pass the client_secret from the PaymentIntent you created in the previous step. const result = await this.terminal.collectPaymentMethod(client_secret, { config_override: { moto: true, } }) if (result.error) { // Placeholder for handling result.error } else { // Placeholder for processing result.paymentIntent } } ``` ## Zahlung bestätigen und erfassen Sie können das übliche Verfahren befolgen, um den PaymentIntent zu [bestätigen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#confirm-payment) und zu [erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#capture-payment). ## Testen Verwenden Sie das [simulierte Lesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) und die [simulierten Testkartennummern](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards), um Ihre Integration zu testen. # React Native > This is a React Native for when terminal-sdk-platform is react-native. View the full page at https://docs.stripe.com/terminal/features/mail-telephone-orders/payments?terminal-sdk-platform=react-native. 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). 1. [Eine PaymentMethod erfassen](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md#collect-payment-method). 1. [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. ```js const params = { amount: 1000, currency: 'usd', paymentMethodTypes: ['card'], }; try { const paymentIntent = await terminal.createPaymentIntent(params); // Placeholder for handling successful operation } catch (error) { // 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` fest, die nicht Null ist. 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. ```js try { const result = await collectPaymentMethod({ paymentIntent: paymentIntent, motoConfiguration: { skipCvc: true }, }); // Placeholder for handling successful operation } catch (error) { // Placeholder for handling exception } ``` ## Zahlung bestätigen und erfassen Sie können das übliche Verfahren befolgen, um den PaymentIntent zu [bestätigen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#confirm-payment) und zu [erfassen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#capture-payment). ## Testen Verwenden Sie das [simulierte Lesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) und die [simulierten Testkartennummern](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards), um Ihre Integration zu testen.