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.

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.

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"
}
}