Migrating Data with Finix

Learn what's required to migrate your data from another payment provider over to Finix.


Transmitting payment details of any kind requires extra PCI considerations.

Finix has several resources available to take on those PCI considerations and help platforms bring their customer’s payment details over to Finix from any payment provider.

Migration Overview

To migrate your platform’s tokenized payment data to Finix, you’ll need to:

  1. Reach out to Finix and let us know you’d like to migrate tokens and payment data from your original payment provider.
  2. Reach out and notify the original processor that you’d like to migrate your tokens and payment data to Finix.
  3. Finix will work with you and the original processor to receive the encrypted Primary Account Numbers (PANs) and other payment details. Once received, Finix will work with you to import the tokens and other payment details into your Finix account.
  4. When the import process is complete , Finix will follow up with a file that contains the new Finix payment tokens and how they map to the tokens of the original processor.

Step 1: Reach Out to Finix

Reach out to Finix and let us know you’d like to migrate payment data from your original provider into Finix. You can reach out to your Finix point of contact or the Finix support team.

Once the migration request is made, Finix will begin making the needed technical preparations.

Step 2: Notify Your Original Processor

Reach out to the original processor and let them know you’d like to migrate your tokens to Finix. These requests can often be submitted through your original provider's support channels.

Include Finix on the request to keep us in the loop. Reaching out helps give the processor permission to begin working on the migration with Finix.

In your request, ask the original processor to provide the encrypted tokens and other payment details in the following file format:

  • Stripe: CSV
  • Braintree: CSV
  • BluePay: CSV

If your processor isn't listed, follow up with them and ask for a sample file or possible formats.

Reach out to your Finix point of contact or the Finix support team with any information your original processor provided, and we'll work on developing a solution to prepare for your migration.

Step 3: Finix Receives Encrypted PANs

Finix will work with you and the original processor to receive the encrypted Primary Account Numbers (PANs) and other payment details.

The original processor will need to use a PGP key provided by Finix to encrypt data before transmitting it to Finix. See Finix PGP Key for Finix's PGP key.

  • Some processors have policies that limit where they can transmit tokenized data. In these cases, you may need to communicate with the processor directly to ensure Finix receives the required data.
  • If requested, Finix's most recent PCI DSS Attestation of Compliance (AoC) is available by request under a signed non-disclosure agreement with Finix.

It can take anywhere from a few days to several weeks for your original processor to transfer your payment data to Finix, so be sure to accommodate this transition time in your migration plan.

Step 4: Finix Completes Importing Your Tokens

When Finix receives the file from the original processor, we’ll begin decrypting the data in a PCI-compliant environment and importing the tokens. If there's any reason the data can't be used, we'll outline what's wrong and work with you and the original processor to resolve the issue.

When the import is complete, Finix will reach out with a CSV that contains the new Finix payment tokens and how they map to the tokens of the original processor.

  • The import process maps the originals processor’s token IDs to new Finix token IDs, identities, and custom fields. You can then use the newly created Payment Instruments and other data in your Finix integration.

The CSV will contain the following fields:

Field Description
import_reference_number ID generated by Finix that you can use to refer to a specific import.
finix_instrument_id The ID of the new Finix Payment Instrument that got created from the tokenized payment data.
finix_identity_id The ID of the Identity linked to the Finix Payment Instrument.
finix_application_id The ID of the Application linked to the Finix Payment Instrument.
successful Details if a Finix Payment Instrument got created successfully using the tokenized payment data in external_customer_id.

Available values include:
  • true: A Finix Payment Instrument got created successfully using the tokenized payment data.
  • false: Finix wasn't able to create a Payment Instrument with the provided details. Review the payment details saved in external_customer_id for accuracy. Once confirmed, try creating a Payment Instrument with the details again directly with Finix's API.
  • external_customer_id A unique ID (generated by your original provider) that you can use to refer to this specific customer and the payment details they had saved with your original payment provider.
    external_token_id The token ID that your original payment provider created to identify the customer's tokenized payment details.
    customer_email The email address saved for the customer with the original payment provider.
    instrument_last_four Last four digits of the payment card.
    card_brand The brand of the payment card.
    expiration_month Expiration month (e.g. 12 for December).
    expiration_year 4-digit expiration year.
    error_msg An error_msg gets returned when there's an issue locating an account with the details provided by the original provider. If an error_msg gets returned, reach out to the cardholder with the details in the error_msg and confirm their payment details. Once verified, create a Payment Instrument with the corrected information.
    is_expired Details if a payment card has expired.

    Available values include:
  • true: At the time of import, the expiration date of the payment card has expired and the card can no longer be used. Use the Account Updater to get the cardholder's latest information.
  • false: The card is valid and can be used to process transactions.
  • The CSV will look something like this:

    Copy
    Copied
    import_reference_number,finix_instrument_id,finix_identity_id,finix_application_id,successful,external_customer_id,external_token_id,customer_email,instrument_last_four,card_brand,expiration_month,expiration_year,error_msg,is_expired
    221014_TESTIMPORTHERE007,PImch9imuQDLamPY1LCRmpsG,IDouBD8vwBFEjV5HvmyWsw2A,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def456,expiredTokenID,jenny.rosen@example.com,4242,UNKNOWN,1,2020,,true
    221014_TESTIMPORTHERE007,PIm1QR8aF2a3NH8cmPgQ5x2o,IDrHeCSZ4ss4f2HjuKFaGqiM,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def459,card_edf214abc789,johnny.rosen@example.com,4242,UNKNOWN,1,2024,,false
    221014_TESTIMPORTHERE007,PIwi2m5TRh26ZVBXA4DLmSZM,IDrHeCSZ4ss4f2HjuKFaGqiM,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def459,card_123,johnny.rosen@example.com,4242,UNKNOWN,1,2024,,false
    221014_TESTIMPORTHERE007,PI85kuV5ySHF4GUDLC9wden7,IDrHeCSZ4ss4f2HjuKFaGqiM,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def459,card_456,johnny.rosen@example.com,4242,UNKNOWN,1,2024,,false
    221014_TESTIMPORTHERE007,PI6mfsXjJfHK9z89NNmoZWS1,IDrHeCSZ4ss4f2HjuKFaGqiM,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def459,card_edf214abd789,johnny.rosen@example.com,4242,UNKNOWN,1,2024,,false
    221014_TESTIMPORTHERE007,PIrmDHqhYuW1gQXSVV3CxB8H,IDrHeCSZ4ss4f2HjuKFaGqiM,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def459,card_edf214abc789,johnny.rosen@example.com,4242,UNKNOWN,1,2024,,false
    221014_TESTIMPORTHERE007,PI4UNNgggfwqZ4eqpHCZHqat,IDrHeCSZ4ss4f2HjuKFaGqiM,APaPLggMvZ6bYCLhbr65MUZ9,True,cus_abc123def459,card_nodatafound,johnny.rosen@example.com,4242,UNKNOWN,1,2024,,false
    221014_TESTIMPORTHERE007,,IDouBD8vwBFEjV5HvmyWsw2A,APaPLggMvZ6bYCLhbr65MUZ9,False,cus_abc123def456,badTokenID,jenny.rosen@example.com,,,1,2024,Not a valid card number,false

    With the CSV, you can make the necessary changes to get customers started processing payments on Finix.

    Finix’s support team is also available to help guide you through the migration process and help make the changes that need to get made to your platform.