> For the complete documentation index, see [llms.txt](https://crushsuite.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://crushsuite.gitbook.io/docs/clubs/migrating-from-another-platform/migrating-payment-methods-from-vinoshipper.md).

# Migrating Payment Methods from Vinoshipper

Move your members' saved cards from Vinoshipper to your store so migrated members are billed without re-entering payment. Works on every Shopify plan.

#### How it works

Vinoshipper bills your club members through its own Stripe account. Those saved cards are Stripe payment methods, and Stripe can copy them from Vinoshipper's account into a Stripe account you own. Once they are in your account, Shopify can bill them through Stripe as a **secondary payment gateway**, and CrushSuite Clubs attaches each card to the right member during your CSV import.

Three parties are involved, and each has a step only they can do:

<table><thead><tr><th width="156.33984375">Who</th><th>What they do</th></tr></thead><tbody><tr><td><strong>You</strong></td><td>Create a Stripe account, add Stripe to your Shopify store as a third-party gateway, accept the transfer in Stripe, and export the mapping file</td></tr><tr><td><strong>Vinoshipper</strong></td><td>Start the transfer of your members' cards from their Stripe account to yours, and send you a file of who was transferred</td></tr><tr><td><strong>CrushSuite</strong></td><td>Blend the Vinoshipper file, the Stripe mapping file, and your member list into a CSV, then import it into your club</td></tr></tbody></table>

Payment method migration is available on **every Shopify plan**. Shopify Plus is only required for moving raw card numbers, which is a different process and not what happens here. Only credit and debit cards transfer; other payment types do not.

***

#### Before you start

* A club already created in CrushSuite Clubs. See [Migration Overview](https://crushsuite.gitbook.io/docs/clubs/migrating-from-another-platform/migration-overview) for what a migration creates.
* Your Vinoshipper member export. Only **Current** members should be imported; see [General FAQs](https://crushsuite.gitbook.io/docs/clubs/faqs/general-faqs).
* Enough runway before your next release. Cards need to be transferred, accepted, and imported before the release bills.

***

#### Step 1: Set up Stripe as a secondary gateway in Shopify

1. Create a Stripe account for your winery if you don't have one. Note your **Stripe account ID** (it starts with `acct_`); it is shown in your Stripe Dashboard account settings.
2. In Shopify Admin, go to **Settings** → **Payments**, add **Stripe** as a third-party payment provider, and sign in to connect it to your new Stripe account. Shopify's guide is [Migrating payment methods](https://help.shopify.com/en/manual/products/purchase-options/subscriptions/migrating-payment-methods).
3. Leave **Shopify Payments** (or your existing provider) as your primary gateway. Stripe is only used to bill the contracts that carry a transferred card.

{% hint style="warning" %} Finish connecting Stripe before you import. If a member's card is imported while the Stripe connection is incomplete, Shopify accepts the card and then revokes it a moment later, and the member shows up with no payment method. There is nothing to fix in your file; the connection was the problem. {% endhint %}

***

#### Step 2: Request the transfer from Vinoshipper

1. Contact Vinoshipper and ask them to transfer your club members' payment methods to your Stripe account. Give them your **Stripe account ID**.
2. Vinoshipper starts a Stripe-to-Stripe transfer and sends you a file listing each transferred customer: email, name, and card ID.

***

#### Step 3: Accept the transfer in Stripe

The transfer does not complete on its own. Stripe holds it until the receiving account accepts it.

1. Sign in to your Stripe Dashboard and open the pending customer transfer.
2. **Accept** it. The copy then runs in the background and can take a while for a large member list.
3. When it finishes, export the **mapping file** Stripe provides. It lists each customer with their **old** card ID (from Vinoshipper's account) and their **new** card ID (in your account).

The IDs in your account are new. Every payment method gets a fresh ID when it lands in the destination account, so the IDs in Vinoshipper's file are not the ones your store will use. The mapping file is what connects the two.

***

#### Step 4: Build and import the CSV

Send CrushSuite the Vinoshipper member export, the Vinoshipper transfer file, and the Stripe mapping file. We blend them into the CSV format Clubs expects: each member's row gets their **new** Stripe customer ID in `gateway_customer_token` and their **new** card ID in `gateway_payment_token`. See [Preparing Your Member CSV](https://crushsuite.gitbook.io/docs/clubs/migrating-from-another-platform/preparing-your-member-csv) for the two columns.

Then run the import as described in [Running a Migration](https://crushsuite.gitbook.io/docs/clubs/migrating-from-another-platform/running-a-migration). For each row carrying tokens, CrushSuite asks Shopify to import that card, and Shopify confirms it with Stripe in the background. A card that Stripe confirms is attached to the member's subscription contract. A card that cannot be confirmed is dropped, and that member is treated like any member without a card: they get an add-payment email from you and choose a card in their account.

{% hint style="warning" %} Token columns must line up with the right member. A token on the wrong row bills the wrong person's card, and nothing at import can detect it, because a token is just an opaque ID. That is why CrushSuite builds this file from the three sources rather than asking you to paste IDs by hand. {% endhint %}

***

#### What your member sees

Members whose card transferred are billed on their next release without doing anything. Their contract is billed through Stripe, not through your primary gateway.

When a member later updates their card in their account, for example when it expires, the new card is saved through your primary gateway and their contract moves off Stripe. Shopify does this member by member as cards change, so the full move away from Stripe can take months or years. New members who sign up after the migration use your primary gateway from the start.
