Import SEPA Data
When you migrate SEPA data from your previous processor, you can import the data in Stripe as the default payment method card (pm_
) object or a deprecated source (src_
) object. The Payment Intents API supports only pm_
identifiers for all Stripe products, but your integration might favour one based on the following considerations.
- If you’re using a third-party subscription platform with Stripe, check with the platform or your developer to see if they prefer
pm_
orsrc_
for SEPA transactions. - If you have existing payment data in your Stripe account, try to match the type you’re already using:
pm_
: Use the Payment Methods API in conjunction with the Payment Intents API.src_
: If your existing integration already usessrc_
objects, you might benefit from importing your SEPA data to match it, and then transitioning to the Payment Intents and Payment Methods APIs.
- Each option has different requirements for notifications:
- Payment methods issue automatic email notifications to customers when their SEPA payment method is debited, so imported data requires an email address for each payment account. You can disable automatic email notifications after migration.
- Sources don’t require email addresses and you can choose to manage communication manually.
Importing the mandates
In the context of SEPA, mandates refer to the original authorised agreement that the customer and the business have already established.
In Stripe, creating a new mandate object doesn’t mean creating a new mandate from scratch. On import, we create a new mandate object that:
- Uses the same
mandate_
as your original agreement.reference - Represents the same agreement the customer initially authorised for the first direct debit instruction.
No new information is required from the customer. The original agreement stays the same.
Creditor ID
A SEPA Creditor Identifier (Creditor ID) is an ID associated with each SEPA Direct Debit payment that identifies the company requesting the payment. Although companies might have multiple creditor identifiers, each creditor identifier is unique and allows your customers to identify the debits on their account.
By default, your Stripe account uses a Stripe Creditor ID when collecting SEPA Direct Debit Payments. Stripe Payments appears on bank statements alongside your configurable Stripe statement descriptor. We recommend that you:
- Configure a recognisable statement descriptor to make sure customers recognise payments and to reduce the risk of disputes.
- Use your own Creditor ID to reduce dispute rates and improve your customer’s recognition of their payment to you.
- If you’re using the Stripe Creditor ID, use Stripe Checkout to collect mandates from your customers for SEPA Direct Debits.
You can configure your own Creditor ID in the Payment Method Settings page. When using your own Creditor ID, your name appears on statements instead of Stripe’s.
Example SEPA Bank Mandate if using Stripe’s Creditor ID
From Account Account name: CURRENT-ACCOUNT BIC: BANBICKIEXXXXX IBAN: IE11BANK11111111111111 Originator Details Originator name: Stripe Payments Europe Ltd Creditor Identifier: BE111111111111 The Creditor Identifier is a unique identifier used by the company to process collections. UMR: UMR123 PSP The Unique Mandate Reference (UMR) is specific to the mandate you have signed and identifies each direct debit mandate. Additional details Status: Active
Example SEPA Bank Mandate if using your own Creditor ID
From Account Account name: CURRENT-ACCOUNT BIC: BANBICKIEXXXXX IBAN: IE11BANK11111111111111 Originator Details Originator name: Merchant Creditor ID Name Creditor Identifier: BE222222222222 The Creditor Identifier is a unique identifier used by the company to process collections. UMR: UMR123 PSP The Unique Mandate Reference (UMR) is specific to the mandate you have signed and identifies each direct debit mandate. Additional details Status: Active
Migration notification
Inform your customers about the migration before it happens. They don’t need to give permission again or set up a new SEPA Direct Debit mandate. The approval you already have is sufficient.
General guidelines for communication:
Point out any changes such as:
- Creditor ID if you choose Stripe’s Creditor ID
- Creditor name if you choose Stripe’s Creditor ID
- Recipient bank IBAN
Make sure the communication reassures customers their current mandates are valid without requiring any action from them, unless they choose to cancel the mandate.
SEPA debit notification
SEPA rules state that you must notify your customers when debiting their SEPA payment method.
You can choose whether Stripe automatically sends this email notification, or whether you send it manually.
For Stripe to send the notification, make sure you include the email field in the data when importing SEPA. The email field is always a required field as part of the SEPA Payment method (pm_
) import.
SEPA file guidance
- A processor can provide a number of different fields.
- We advise your processor to provide a full export of all customer and payment method data to Stripe.
- Stripe can filter out any unnecessary fields from the previous processor’s data as needed.
- Stripe can merge multiple received files if either the old customer ID or the old source ID is present in both files.
File formatting requirements
Export data files must meet the following data standards for us to proceed with an import:
- The file must be in CSV format.
- The file must be UTF-8 encoded.
- Delimit rows by a single newline character
\n
(not\r\n
). - Delimit columns by a comma (
,
). - You must wrap all fields containing commas in double quotes (
"
). We recommend wrapping all fields in double quotes. - Leave empty fields entirely empty (no character in between delimiters). You must not denote a missing field with
NULL
,N/A
, or any other value. - Escape any double quotes that are part of the content with another double quote per the CSV RFC. Example:
"``William
""``Bard of Avon``""
Shakespeare``"
- Fields can’t contain newline characters (
\r
or\n
) within a field. An example of what to avoid would be:101 1st Ave\nApt 1
. - All rows must have the same number of columns.
- Columns support any order.
- You must encrypt sensitive data files with our PGP key before submitting them through SFTP.
SEPA data fields
Field | Required | Additional info |
---|---|---|
Old customer ID | Required | We create a customer ID for each unique old customer ID provided. |
Name | Required | We must include the name of the person on the mandate. |
IBAN | Required | Follow Stripe’s valid IBAN structure. |
Mandate reference | Required | Existing mandate reference ID |
Required* | *SEPA requires you to email a notification to the customer upon debiting their SEPA payment method. Stripe can send this email notification automatically or you can manually send it. This field is mandatory if:
| |
Address line 1 | Required* | *Mandatory for non EU IBANs |
Country | Required* | *Mandatory for non-EU IBANs. This must be in the form of the ISO 2-letter country code. |
Postal | Optional | Additional metadata |
Country | Optional | Additional metadata |
Phone | Optional | Additional metadata |
Address line 2 | Optional | Additional metadata |
State | Optional | Additional metadata |
Stripe customer ID | Optional | Additional metadata |
Old source ID | Optional | Additional metadata |
Customer/SEPA Metadata | Optional | Any additional metadata |