# Create a SEPA Direct Debit for a freelancer Initiates a SEPA Direct Debit from the debtor specified in the request body to the freelancer's account specified in the request URL. Endpoint: POST /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_direct_debit Version: 1.0 ## Path parameters: - `person_id` (string, required) - `account_id` (string, required) ## Request fields (application/json): - `reference` (string) UUID reference for the transaction. Acts as an idempotency key. Example: "f69f6431-bfb7-4c7e-81ba-8a4f023362c2" - `amount` (object) The amount to debit from the debtor. Example: {"value":1000,"currency":"EUR","unit":"cents"} - `amount.value` (integer) The amount value. Example: 1000 - `amount.unit` (string) The unit of the given value in cents. Example: "cents" - `amount.currency` (string) The currency of the given value. Only EUR is currently supported. Example: "EUR" - `description` (string) A description for the transaction, which will be visible to the customer and the debtor. Example: "Example transaction" - `collection_date` (string) The date on which to execute the SEPA Direct Debit. Example: "2016-02-11T00:00:00.000Z" - `mandate` (object) Object containing information about the direct debit mandate. Example: {"reference":"1","creditor_identifier":"DE98ZZZ09999999999","scheme":"B2B","sequence_type":"ONE_OFF","signature_date":"2016-02-02T00:00:00.000Z","debtor_name":"Hans Mustermann","debtor_iban":"DE32110101001000000029","debtor_bic":"COBADEFFXXX"} - `mandate.reference` (string) Reference of the mandate. Must be unique to the . Example: "1" - `mandate.creditor_identifier` (string) Unique reference that identifies a party collecting payments under the SEPA Direct Debit scheme. For more information, see the [Deutsche Bundesbank's page about Creditor Identifiers](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704). Example: "DE98ZZZ09999999999" - `mandate.scheme` (string) The payment scheme of the mandate. Use unless otherwise directed. Enum: "B2B", "CORE" - `mandate.sequence_type` (string) Specifies whether the SDD should occur once or more than once. Enum: "ONE_OFF", "RECURRING" - `mandate.signature_date` (string) The date when the debtor signed the mandate release. Example: "2016-02-02T00:00:00.000Z" - `mandate.debtor_name` (string) The debtor's name. Example: "Hans Mustermann" - `mandate.debtor_iban` (string) The debtor's IBAN. Example: "DE32110101001000000029" - `mandate.debtor_bic` (string) The debtor's BIC. Example: "COBADEFFXXX" - `end_to_end_id` (string) SEPA identifier provided by the customer initiating the transaction. This value is routed through the entire payment process. Example: "ABC123" ## Response 201 fields (application/json): - `id` (string) Unique ID of the transaction. Example: "074ff24d187a014f42d5694b13e9cf1fctrx" - `status` (string) The status of the SDD transaction. Enum: "created", "accepted", "declined", "executed", "review_needed", "canceled" - `reference` (string) Optional reference for the transaction. Acts as an idempotency key. Example: "8880a72c-2675-482d-8d88-70a02c608592" - `amount` (object) The amount to debit from the external account. - `amount.value` (integer) The amount value. Example: 1000 - `amount.unit` (string) The unit of the given value in cents. Example: "cents" - `amount.currency` (string) The currency of the given value. Only EUR is currently supported. Example: "EUR" - `description` (string) Optional description for the transaction, which will be visible to the debtor. Limited to 140 characters. Please note the [SEPA character restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters) - `collection_date` (string) The date on which to collect the direct debit. The default value is the day after the current day. The latest possible date is 14 calendar days in the future. Example: "2021-02-11T00:00:00.000Z" - `mandate` (object) Object containing information about the direct debit mandate. - `mandate.reference` (string) Reference of the mandate. Must be unique for the creditor identifier. Example: "dsf2r3raedfs3fsf342fctrx" - `mandate.creditor_identifier` (string) Unique reference that identifies a party collecting payments under the SEPA Direct Debit scheme within and across 32 countries. See the [Deutsche Bundesbank's definition of creditor identifier](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704) for more information. Example: "DE98ZZZ09999999999" - `mandate.scheme` (string) The scheme to use for the mandate. Use unless instructed otherwise. - `mandate.sequence_type` (string) The sequence type of this mandate (i.e., whether the transaction is one-off or recurring). - `mandate.signature_date` (string) The date when the debtor signed the mandate. Example: "2017-10-02T16:12:41Z" - `mandate.debtor_name` (string) The debtor's name. Please note the [SEPA character restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters) Example: "Hans Mustermann" - `mandate.debtor_iban` (string) The debtor's IBAN. Example: "DE29300400000180478000" - `mandate.debtor_bic` (string) The debtor's BIC. Example: "COBADEFFXXX" - `end_to_end_id` (string) SEPA identifier provided by the transaction initiator, which will be routed throughout the whole payment process. Please note the [SEPA character restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters) Example: "END2ENDREJ" ## Response 400 fields (application/json): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `status` (string) Example: "400" - `code` (string) Example: "build_pagination_headers_failure" - `title` (string) Example: "Failed to build pagination headers." - `detail` (string) Example: "Cannot connect to database." ## Response 403 fields (application/json): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `status` (string) Example: "403" - `code` (string) Example: "unauthorized_action" - `title` (string) Example: "Unauthorized Action" - `detail` (string) Example: "Unauthorized action is not allowed." ## Response 404 fields (application/json): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `status` (string) Example: "404" - `code` (string) Example: "model_not_found" - `title` (string) Example: "Model Not Found" - `detail` (string) Example: "Couldn't find 'Solaris::Identification' for id 'bbbcccfff388923eb899a5852df6cidt'." ## Response 500 fields (application/json): - `id` (string) Example: "e8915041-9d8c-4d96-9dd1-04e8522ecdbf" - `status` (string) Example: "500" - `code` (string) Example: "generic_error" - `title` (string) Example: "Generic Error" - `detail` (string) Example: "There was an error."