# Migrating Data From a Processor To Checkout Champ

**Requirements:**

1. Checkout Champ Attestation of Compliance (This will be located in the Zip file)
2. Checkout Champ PGP Key (They will require this key in order to encrypt and send files to us)
   1. [Checkout Champ CRM APIs](https://apidocs.checkoutchamp.com/#c5700d03-70a6-4aa3-92ab-bec7cd835c1c)
3. Server Credentials (This is the server that your processor will export files to)
   1. host:\
      username:\
      password:
4. Import File (The file you will provide to us for import into the CRM. The base file will be provided to you in the Zip.

**Process:**

1. Make the request for an export with your processor. Provide them the server credentials, PGP Key and AOC. Once their requirements for an export have been met they will send the data to the server credentials you provided to them.
2. Inform us through the Concierge ticket that the export was completed.
3. We will decrypt the file, tokenize the card numbers, and send the file back to you through the Concierge ticket.
4. You then build our Legacy Data Import file using the decrypted file. The Legacy Data import PDF will provide the field definitions and required columns.
   1. **merchantId**: Located here: <https://crm.checkoutchamp.com/merchants/mids/> Listed under the ID column, this is the merchant account future rebills will be processed on.
   2. **campaignId**: Located here:<https://crm.checkoutchamp.com/crm/campaigns/> This the campaign your imported customers will be assigned to.
   3. **productId**: also known as campaignProductId. Located under the ID column in the Campaign Products Section of the campaign. Note: This is different from the base productId. Verify that the products you assign are configured correctly ie: One Time or Recurring.
   4. **isActiveRecurring:** needs to be set to 1 if the product is an Active Subscription.
   5. **nextBillDate:** is required for active subscriptions and must be in this format

      **date (YYYY-MM-DD)**
   6. **phoneNumber** should be formatted like this 5551112222. Do not include parentheses or dashes
   7. You will find the other required fields in the Legacy Import PDF or in the Import File CSV which contains all the required columns.
5. Send us the completed file through the Concierge ticket
6. We will import a sample of the completed file
7. Verify the sample. You will want to review the customers, verify the rebills and refunds work. If there are any issues let us know.
8. If the samples pass the test we will import the rest of the data.

**Building the Import File:**

Depending on the data provided to you by the various parties you will need to use the combination of the data provided to you to fill out the Import file. For example if Stripe has the payment information but Recharge has customer information you will need to find a common key such as a customer Id to build the import file.

**Frequently Asked Questions:**

1. What is the **merchantTxnId**?
   1. This is the processor's Transaction Id
2. What is the **externalToken**?
   1. A token identifying the customer payment source at the 3rd party gateway. This is sometimes used to process existing subscription billings without a full card number.
3. What if I don’t have a required column?

a. In some cases you can substitute with dummy data. EG. phoneNumber can be supplied with 1111111111. You will have to check with the processor you will be transacting with (NMI, Stripe, [Auth.net](http://Auth.net)) whether they will allow the subscriptions without the field or will allow dummy data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.checkoutchamp.com/crm/admin-setup/legacy-data-import/migrating-data-from-a-processor-to-checkout-champ.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
