Skip to main content

SEPA

SEPA for FinDock is an implementation of the Single Euro Payments Area (SEPA) Core Direct Debit payment scheme used within the European Union. Direct debits are processed with banks using PAIN files generated by FinDock. Reconciliation of bank and payment data is carried out by importing CAMT and N43 files from banks. The SEPA payment extension supports the following payment methods:

  • Acceptgiro
  • Bolletino Postale
  • Credit transfer
  • Direct Debit
  • OGM-VCS

Install and activate SEPA extension#

The installation procedure is the same for any payment extension. For further information, please see Installing FinDock packages. For activating payment extensions, please see Activating payment extensions.

Check and assign the required permissions for FinDock and SEPA features. Ensure all package-specific permission sets are correctly assigned.

SEPA targets#

A “target” in FinDock determines through which bank a transaction is routed for collection, In addition, when importing CAMT files for reconciliation, FinDock uses targets to only process bank statements for IBANs that are present as a target.

The payment reference is primarily used in matching incoming transactions to a particular installment. When performing a SEPA direct debit run, the payment reference is used as the End-to-End Id in the PAIN file.

To complete the SEPA configuration, add your targets as needed. For instructions, see Creating SEPA targets.

SEPA mandates#

Mandates are central to the SEPA payment scheme. A mandate is an agreement between the creditor and the debtor whereby the debtor allows the creditor to take money out of the debtor's bank account. You must have an authorized mandate from the debtor (your customer or donor) to be able to collect direct debit payments.

There are several rules governing the use of mandates, including expiration, white listing, blacklisting, constellations, and so forth. FinDock does not manage the authorized mandates as such. FinDock automatically creates mandate records when required. Within FinDock, a mandate is a unique ID representing the agreement whereby you, the creditor, have the right to debit a specific bank account. Please keep in mind that this is the technical representation of a mandate. The SEPA requirements remain for organizations to have a valid mandate based on the SEPA rules.

Mandates are linked to the payment profile, and they are processor and target specific. FinDock mandate configuration is part of the FinDock Core configuration where you define a prefix for the mandate IDs. The prefix is combined with the Salesforce ID for the SEPA mandate record to create a unique mandate reference ID.

note

You need to separately enable auto-creation of mandates as part of the mandate configuration.

Individual countries may have additional rules regarding management. For further information regarding SEDA (Italy), please see SEDA for SEPA payment extension.

Payment references#

Every installment created with a SEPA payment method contains a payment reference. The structure of the reference is dependent on the payment method.

The payment reference is primarily used in matching incoming transactions to a particular installment. When performing a SEPA direct debit run, the payment reference is used as the End-to-End Id in the PAIN file.

SEPA and the UK#

The SEPA Direct Debit Core scheme was updated to take into account the status change of UK banks due to the regulatory impact of Brexit. Collection files (pain.008) now require additional information if the debtor is using a UK bank account. Specifically, the collection files need to include the full address of the debtor and the BIC code of the debtor bank.

If the IBAN of the payment profile record indicates the debtor is in the UK, FinDock maps BIC and address fields on the Payment Profile object for pain.008 file creation. However, FinDock does not validate the values for BIC and address fields as part of this mapping. You need to seperately ensure the fields are correctly filled in for pain.008 compliance (of UK payment collections).

The following fields on the payment profile need to be populated:

  • Street
  • Housename Or Number
  • Zipcode
  • City
  • Country
note

Please be aware that for this collection scenario, the country field on Payment Profile needs to use the Alpha-2 ISO country code (e.g."GB" for United Kingdom) for the pain.008 to be valid.

Payment API#

To test your SEPA configuration, you can use the following request in combination with the API.

The following message initiates a one-time SEPA transaction with FinDock, passing a Target and holderName & IBAN parameters to set up the Mandate.

{    "SuccessURL": "https://www.example.com/success",    "FailureURL": "https://www.example.com/error",    "WebhookURL" : "https://webhook.site/181568ec-8830-4672-af01-8c99da8e044f",    "Payer": {        "Contact": {            "SalesforceFields": {                "FirstName": "Eric",                "LastName": "Johnson",                "Email": "eric@johnson.com"            }        }    },    "OneTime": {        "Amount": "30"    },    "PaymentMethod": {        "Name": "Direct Debit",        "Processor": "PaymentHub-SEPA",        "Target" : "SEPA-Target",        "Parameters" : {            "IBAN" : "NL13TEST0123456789",            "holderName" : "E. Johnson"        }    },    "Settings": {        "SourceConnector": "PaymentHub"    }}

The following message initiates a recurring SEPA Direct Debit transaction with FinDock, passing a Target and holderName&IBAN` parameters to set up the Mandate.

{    "SuccessURL": "https://www.example.com/success",    "FailureURL": "https://www.example.com/error",    "Payer": {        "Contact": {            "SalesforceFields": {                "FirstName": "Eric",                "LastName": "Johnson",                "Email": "eric@johnson.com"
            }        }    },
     "Recurring": {          "Amount": "25",          "Frequency": "Monthly",          "StartDate": "2020-11-01"     },    "PaymentMethod": {        "Name": "Direct Debit",        "Processor": "PaymentHub-SEPA",        "Target" : "SEPA-Target",        "Parameters" : {            "IBAN" : "NL13TEST0123456789",            "holderName" : "E. Johnson"        }    },    "Settings": {        "SourceConnector": "PaymentHub"    }}