> ## Documentation Index
> Fetch the complete documentation index at: https://docs.supercycle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrate from Stripe

> Import your Stripe customers and payment methods into Supercycle

This guide covers how to migrate customers and their vaulted payment methods from Stripe to Supercycle.

## Prerequisites

Before starting the migration, ensure you have:

* Completed the [migrations overview](/documentation/configuration/migrations/overview) requirements
* Access to your Stripe dashboard to export customer data
* The Stripe import feature enabled for your store

<Note>
  The **Import from Stripe** option is not enabled by default. Contact Supercycle support to request this feature be enabled for your store before proceeding.
</Note>

## Export customers from Stripe

Export your customer data from Stripe including their payment method information.

<Steps>
  <Step title="Go to Stripe dashboard">
    Navigate to **Customers** in your Stripe dashboard.
  </Step>

  <Step title="Export customer data">
    Click **Export** and download a CSV file containing your customer records.
  </Step>

  <Step title="Prepare the CSV">
    Ensure your CSV includes the following columns:

    | Column    | Description                                   | Required |
    | --------- | --------------------------------------------- | -------- |
    | `id`      | The Stripe customer ID (e.g., `cus_xxx`)      | Yes      |
    | `email`   | Customer email address                        | Yes      |
    | `name`    | Customer full name                            | Yes      |
    | `card_id` | The Stripe payment method ID (e.g., `pm_xxx`) | No       |
  </Step>
</Steps>

## Import customers to Supercycle

Once you have your CSV file ready, import it into Supercycle.

<Steps>
  <Step title="Open the import modal">
    In Supercycle, navigate to **Settings** > **Migrations** and select **Import from Stripe**.
  </Step>

  <Step title="Upload your CSV">
    Upload the CSV file exported from Stripe.
  </Step>

  <Step title="Map columns">
    Supercycle will automatically detect and map the columns. Verify the mappings are correct:

    * `id` → Stripe ID
    * `email` → Email
    * `name` → Name
    * `card_id` → Card ID (optional)
  </Step>

  <Step title="Preview and import">
    Review the preview to ensure the data looks correct, then click **Import** to begin the migration.
  </Step>
</Steps>

## What happens during import

For each row in your CSV, Supercycle will:

1. **Find or create the Shopify customer** by email address
2. **Link the Stripe payment method** to the Shopify customer using Shopify's remote payment method API
3. **Store the payment method** locally for future billing

<Note>
  If a customer with the same email already exists in Shopify, Supercycle will link the Stripe payment method to the existing customer rather than creating a duplicate.
</Note>

## After the import

Once the import is complete:

* Customers will appear in your Shopify admin and Supercycle
* Payment methods will be available for subscription and membership billing
* You can begin creating subscriptions or memberships for the imported customers

## Troubleshooting

<AccordionGroup>
  <Accordion title="Multiple customers found">
    **Problem**\
    The import fails with "multiple Shopify customers were found".

    **Why it happens**\
    You have duplicate customer records in Shopify with the same email address.

    **How to fix it**\
    Merge or remove the duplicate customers in Shopify before retrying the import.

    <Steps>
      <Step title="Find duplicates in Shopify">
        In **Shopify Admin**, go to **Customers** and search for the email address.
      </Step>

      <Step title="Merge or delete duplicates">
        Keep one customer record and merge or delete the others.
      </Step>

      <Step title="Retry the import">
        Run the Stripe import again.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Payment method not linking">
    **Problem**\
    The payment method from Stripe is not linking to the customer.

    **Why it happens**\
    The `card_id` in your CSV is using a legacy card token (starting with `card_`) instead of a payment method ID (starting with `pm_`).

    **How to fix it**\
    Convert legacy card tokens to payment methods in Stripe before importing.

    <Steps>
      <Step title="Identify legacy tokens">
        Check your CSV for any `card_id` values starting with `card_`.
      </Step>

      <Step title="Convert in Stripe">
        In Stripe, convert the legacy card tokens to payment methods using the Stripe API or dashboard.
      </Step>

      <Step title="Update your CSV">
        Replace the `card_` values with the new `pm_` payment method IDs.
      </Step>

      <Step title="Retry the import">
        Upload the updated CSV and run the import again.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>
