Mit wiederkehrenden mandaten können Sie das Bankkonto eines Kunden wiederholt belasten, ohne dass dieser jede Zahlung einzeln genehmigen muss. Dies ist ein gängiges Muster bei Abonnementmodellen, Ein-Klick-Checkouts und Ad-hoc-Lastschriften durch Händler.

Computop Paygate unterstützt wiederkehrende Mandate für die beiden folgenden Hauptszenarien: 

  • Ungeplante kundeninitiierte Transaktionen (CIT): Ein-Klick-Zahlungen bei denen der Kunde die Zahlung manuell auslöst, aber die Zahlungsinformationen nicht erneut eingeben muss.
  • Ungeplante händlerinitiierte Transaktionen (MIT) & wiederkehrende Zahlungen: Von Ihnen initiierte Zahlungen ohne Kundeninteraktion, z. B. bei Abonnements oder Ad-hoc-Gebühren.


Implementierungsablauf

Mit Computop können Sie wiederkehrende Mandate in drei einfachen Schritten einrichten:

  1. Erste Transaktion mit wiederkehrender Absicht
  2. Anmeldedaten sicher speichern
  3. Nachfolgende Transaktionen

1. Erste Transaktion

Richten Sie die Absicht für eine Wiederholung ein, indem Sie die folgenden Informationen im Objekt credentialOnFile übergeben:

{
  ...
  "credentialOnFile": {
    "type": "RECURRING",
    "initialPayment": true
  }
}


2. Anmeldedaten speichern

Speichern Sie die Konto- und Mandatsdetails basierend auf dem Integrationstyp, nachdem Sie eine erfolgreiche Zahlungsantwort auf die erste Transaktion erhalten haben:

IntegrationsartAktion

Gehostete Formulare Gehostete Zahlungsseite oder Direct Debit Gehostete Formulare

Rufen Sie die Konto- und Mandatsdaten ab, indem Sie Zahlungsdaten nach payment ID abrufen aufrufen und speichern sie.

{
  ...
  "paymentMethods": {
  "type": "DIRECTDEBIT",
  "directDebit": {
      ....
      "mandate": {
          "mandateId": "SEPA123456789",
          "dateOfSignature": "15.02.2025"
      },
      "account": {
          "code": "DE123456789",
          "number": "DE89370400440532013000",
          "accountHolderName": "John Doe",
          "bankName": "National Bank"
      }
    }
  }
}


Direkte Integration

Speichern Sie die Konto- und Mandatsdaten; die Sie bereits während des Zahlungsvorgangs erhalten haben.


3. Nachfolgende Transaktionen

Senden Sie die nachfolgende Zahlungsanforderung mit Aufrufparametern abhängig von der Art Ihrer Integration

IntegrationsartZahlungsparameter
Gehostete Formulare Hosted Payment Page oder gehostete Kartenformulare
  • Übermitteln Sie das Objekt credentialOnFile wie folgt: 
    {
      ...
      "credentialOnFile": {
          "type": "RECURRING",
          "initialPayment": false
      }
    }


  • Übergeben Sie die Kontodaten im Objekt prefillInfo und die Mandatsdaten im Objekt mandate object, die zuvor in der Antwort der ersten Transaktion zurückgegeben wurden, für einen schnelleren Checkout. 
    {
      "paymentMethods": {
          "type": "DIRECTDEBIT",
          "directDebit": {
              "mandate": {
                  "mandateId": "SEPA123456789",
                  "dateOfSignature": "15.02.2025"
              },
              "prefillInfo": {
                  "account": {
                      "code": "BYLADEM1KMD",
                      "number": "DE89370400440532013000",
                      "accountHolderName": "John Doe",
                      "bankName": "National Bank"
                  }
              }
          }
      }
    }
Direkte Integration
  • Übermitteln Sie das Objekt credentialOnFile wie folgt: 
    {
      ...
      "credentialOnFile": {
          "type": "RECURRING",
          "initialPayment": false
      }
    }


  • Übergeben Sie die Konto- und Mandatsdaten wie folgt: 
    {
      "paymentMethods": {
          "type": "DIRECTDEBIT",
          "directDebit": {
              "mandate": {
                  "mandateId": "SEPA123456789",
                  "dateOfSignature": "15.02.2025"
              },
              "account": {
                  "code": "BYLADEM1KMD",
                  "number": "DE89370400440532013000",
                  "accountHolderName": "John Doe",
                  "bankName": "National Bank"
              }
          }
      }
    }




  • No labels