All Collections
Getting Started
Migrating Data
Data Migration — Active Recurring Subscriptions
Data Migration — Active Recurring Subscriptions

How to migrate active recurring donation subscriptions from an external platform to Funraise

Tony Sasso avatar
Written by Tony Sasso
Updated over a week ago

Services in this article may not be included in every Funraise plan.


This article covers the process to migrate active recurring subscriptions to Funraise. You can migrate your recurring donation subscriptions to Funraise from another platform in many cases, but not all. Our ability to migrate subscription data is dependent on your previous system and payment processor. The process will require coordination between Funraise, you, and your previous payments platform.

To get started with a recurring subscription migration, create a new ticket with our support team by emailing support@funraise.org.

You're responsible for your migration

While our award-winning support team is available to guide your way, migrations can be a challenging process if not well organized. The state of your data, your team's resources, and your previous system will determine your migration experience. Funraise does not analyze, structure, or organize your data - this is your data and you know it better than anyone. You are the leader of your migration.


Required data

  1. Payment method data (the actual credit card information). Your current payment service will securely share this data with our vaulting partner, Spreedly.

  2. Subscription details: Information about the supporter, amounts, frequency, payment date, etc. for each subscription. You will export this data from your previous platform and enter it into a template Google Sheet that we provide.

Step-by-step instructions

Step 1

Organization

Create a new ticket with our support team by emailing support@funraise.org and let us know you're ready to begin a recurring migration. We'll respond with next steps and use this ticket thread to communicate throughout the migration process.


Step 2

Organization

Contact your payment service to let them know that you want to start the process of migrating your recurring subscriptions.

Your previous payment service will follow these instructions to share encrypted payment data with our secure payment vault, Spreedly.

Use the following message template when reaching out to your previous payment provider:

Hi previous platform,

We are moving to a new payments platform (Funraise) and will be migrating our recurring donor payment data. Funraise uses Spreedly, a PCI Level 1 payment vault, to securely store payment methods. You can find Spreedly's AOC and latest scan here: https://spreedly.com/pci

Please export all our recurring payment methods to Spreedly. You can review instructions to securely share encrypted payment data with Spreedly via SFTP and Spreedly's PGP key here: http://help.funraise.io/en/articles/4115679-data-migration-active-recurring-subscriptions#h_31d9c26f61

When the encrypted payment data is ready to share, please email support@funraise.org with the following:

  • Instructions and credentials to access the encrypted payment data

  • The name of my organization

Funraise will share these details with Spreedly and continue the process.

Thank You!


Step 3

Previous payment platform


Step 4

Organization

  • Confirm with previous payment service when subscriptions will stop charging in the previous environment

  • Export subscription data from your previous system and transfer exported subscription data to the Funraise Subscription Migration Template. This is a template Google Sheet, which we'll share with you.

Funraise

  • Help match tokenized payment methods to subscription data

  • Finalize subscription data import file for organization approval


Step 5

Organization

  • Provide final approval for import

Funraise

  • Import final subscription data


Notes

Migration timeframes

The recurring migration process can take a few weeks to a few months. It entirely depends on the quality of your data and the payment platform you're migrating from.

Timing is important. You'll need to coordinate the cancellation date of your subscriptions in your previous payments platform and the import of subscriptions into Funraise to ensure no payments are missed or duplicated.

Migration costs

In most case, paid plans include a single recurring migration (of many recurring subscriptions records and payment methods). Additional charges will apply after the first migration or if you are migrating subscriptions from multiple sources.

Possibility of new declined payments

A recurring subscription migration will change the gateway that is processing your payments which may cause card networks to fail some payments because the charge requests is coming from a new processor. Generally, declines of this nature are not common, but are possible.

⚠️ With Funraise Payments powered by Stripe you will have access to Stripe Radar rules that can be activated to verify the address provided with credit card payments to help prevent fraud. If your previous processor was not verifying address information for each charge, it is possible to have new declines if Address verification (AVS) is activated.

Some payment methods may fail to import

It is possible that there will be some payment methods that will not be successfully imported to the vaulting service. Possible reasons include:

  • Payment method/subscription was created after the request for export was sent to the previous payment processor

  • Data provided by the previous payment processor was insufficient to be imported into vaulting service

  • Payment method data has errors, such as invalid expiration dates.

While it is possible to import a subscription connected to a payment method with errors, the subscription will fail to charge. We recommend excluding these records from the import process and reaching out to those supporters directly to create new subscriptions in Funraise.


Instructions for previous payments platform

Spreedly is Funraise's vaulting partner. As a previous payments platform, please prepare data to share with Spreedly following the instructions described below.

Once the data is encrypted and ready to be shared, please email support@funraise.org with the instructions and credentials to access the encrypted payment data and the name of the organization that requested the export. Funraise will share these details with Spreedly and continue the process on our end.

Data Format

Spreedly requires incoming data to be in CSV or JSON format. Data should be GPG-encrypted and transferred securely via SFTP (described below).

For credit cards the following data is required:

  • External ID

  • Full name

  • Card number

  • Expiration month

  • Expiration year

The following data is helpful but optional:

  • email

  • address1

  • address2

  • city

  • state

  • zip

For ACH payment methods, the following data is required:

  • First name

  • Last name

  • Bank routing number

  • Bank account number

File Transfer

Spreedly accepts CSV or JSON formatted migration file transfer via SFTP.

The previous payments platform will create their own SFTP configured to the standard SFTP port (22). Credentials should be encrypted to Spreedly’s PGP public key.

If the previous payments platform prefers for Spreedly to authenticate via SSH-RSA key instead of sending encrypted credentials, please use the key listed below.

Spreedly SSH-RSA Public Key

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKX5MrQBLsthC2qSMhwOut1VGWkkr5EqxLNkZmMwpkNKQTZDXS6zD/7W9nI9xeoSXovZhpbgdRxVZs1gWTW9e5uGA5FQffDm12cmnvtnzheSCak830C3c0dZskcJnybhMbOxdIJkN9GpliuKUUA/uQxj8m+E5GcyYNQEb21dKqKzj7UO3qnfF1KlAJJHx4aiyc7gDQJ4uulVbKATyxKqY525WffqZFAASTUoTiskU/i30iXZk8MC6EQQuxY+hsRGv4ugqt0W2PlVGKi1uOCgPjc7V3MU7HzOpBP60ppI4EH/4M154bKD6BnZGtQflSedhYNnwdQshF5mMehVzB7/bB

PGP

Data shared with Spreedly must be encrypted using Spreedly's public key. If you’re not familiar with PGP, visit GnuPG and start by importing a public key.

Spreedly Public Key

  • Key ID: D60BA557

  • Type: Public Key

  • Length: 4096

  • Algorithm: RSA

  • Fingerprint: 5813 E64C 851F 114D 1ABC 2FA9 8EF9 8493 D60B A557

  • User ID: Spreedly Support <support@spreedly.com>

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.14 (GNU/Linux) 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 ID0E/Ab9 =0eWU -----END PGP PUBLIC KEY BLOCK-----


Did this answer your question?