Migrating from WePay

Learn what's required to migrate your data from WePay over to Finix.


In this article, we'll guide you through migrating your payment and customer data from WePay and importing it to Finix, ensuring a smooth transition that minimizes disruptions to your customers and business operations.

Migration Overview

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

  1. Integrate with Finix and prepare your account.
  2. Prepare your data and verify the information is accurate.
  3. Contact Finix and let us know you want to migrate tokens and payment data from WePay.
  4. Reach out and notify WePay that you want to migrate your tokens and payment data to Finix.
  5. Finix will work with you and WePay 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.
  6. 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 WePay's tokens.

Step 1: Integrate with Finix

See our Developer Quickstart for details on integrating with Finix and setting up your account.

Platforms and marketplaces: See our Platform Quickstart for details on how to get your platform started.

Accepting payment details

Similar to WePay's Tokenization JavaScript Library, Finix has a library available to help you collect payment data without letting the sensitive data touch your servers.

For more details, see Accepting Payment Details.

  • See Tokenization Forms for details on how to securely accept payments on the web.
  • See Mobile Tokenization for details on how to securely accept payments in your mobile app.
  • See Raw Card Data if you have a Level 1 PCI-compliant card data environment (CDE).

Establishing how you'll accept payment details with Finix early is helpful in case you need to request payment details from a buyer or seller again.

WePay Field Mappings

To help you build out your payments integration, here's a detailed breakdown of the fields in WePay's API and how they map to Finix's API.

See Finix's API reference for a detailed breakdown of our API.

Legal Entities and Account

In Finix:

  • The Identities resource is the Finix equivalent to WePay's legal_entities resource.
    • The Identity resource represents the personal details of your buyers and sellers; an Identity is required to process payments with both buyers and sellers.
    • See Create a Identity for complete details on how to create an Identity.
  • The Merchant resource is the Finix equivalent to WePay's account resource.
    • A Merchant resource is required for a seller to process payments.
    • See Create a Merchant for details on how to provision a Merchant account for sellers.
Request Arguments - Identity - Buyer
Finix FieldWePay EquivalentTypeDescription
citypayments#payment_method.credit_card.card_holder.address.citystring, optional
countrypayments#payment_method.credit_card.card_holder.address.countrystring, optional
emailpayments#payment_method.credit_card.card_holder.emailstring, optional
first_namepayments#payment_method.credit_card.card_holder.holder_namestring, optional
last_namepayments#payment_method.credit_card.card_holder.holder_namestring, optional
line1payments#payment_method.credit_card.card_holder.address.line1string, optional
line2payments#payment_method.credit_card.card_holder.address.line2string, optional
phonepayments#payment_method.credit_card.card_holder.phonestring, optional
postal_codepayments#payment_method.credit_card.card_holder.address.postal_codestring, optional
  • The zip or postal code listed on the buyer's billing address.
  • API Reference
regionpayments#payment_method.credit_card.card_holder.address.regionstring, optional
Request Arguments - Identity - Seller
Finix FieldWePay EquivalentTypeDescription
business_addresslegal_entity#addressobject, required
business_namelegal_entity#legal_entity_namestring, required
business_phonelegal_entity#phonestring, required
business_tax_idlegal_entity#entity_country_info.US.employer_identification_numberstring, required
  • Seller's Nine digit Tax Identification Number (TIN) or Employer Identification Number (EIN).
  • API Reference
business_typeN/Astring, required
  • The entity type of the seller. Use the respective enum.
  • API Reference
default_statement_descriptoraccount#statement_descriptionstring, required
  • A description of the seller that appears on the buyer's bank or card statement.
  • API Reference
doblegal_entity#date_of_birthstring, required
doing_business_asaccount#namestring, required
emaillegal_entity#emailstring, required
first_namelegal_entity#name.firststring, required
incorporation_datelegal_entity#year_of_formationobject, required
last_namelegal_entity#name.lastobject, required
max_transaction_amountN/Aobject, required
  • The maximum amount (in cents) that can be charged for a single transaction.
  • API Reference
ach_max_transaction_amountN/Aobject, required
  • The maximum amount (in cents) that can be charged for a single ACH transaction.
  • API Reference
mccaccount#industry_code.codeobject, required
  • The Merchant Category Code (MCC) that this merchant will be classified under.
  • API Reference
ownership_typelegal_entity#entity_country_info.US.legal_formstring, required
  • The legal entities ownership type. Use the respective enum.
  • API Reference
personal_addresslegal_entities#controller.addressstring, required
phonelegal_entities#controller.phonestring, required
principal_percentage_ownershipN/Astring, required
  • Percentage of the company owned by the principal control owner.
  • API Reference
tax_idlegal_entities#entity_country_info.US.employer_identification_numberstring, required
titlelegal_entities#controller.job_titlestring, required
urllegal_entities#primary_urlstring, required

Credit Card and Bank Account

The Payment Instrument resource is the Finix equivalent to WePay's credit_card and payment_bank resources. A Payment Instrument represents the payment method of a buyer or seller.

See Create a Payment Instrument for details on how to create a Payment Instrument.
Request Arguments - Payment Instrument - Credit Card
Finix FieldWePay EquivalentTypeDescription
addresspayments#payment_method.credit_card.card_holder.addressobject, required
expiration_monthpayments#payment_method.credit_card.expiration_monthinteger, required
expiration_yearpayments#payment_method.credit_card.expiration_yearinteger, required
identityN/Astring, required
  • The ID of the Identity that the payment method should be associated with.
  • API Reference
namepayments#payment_method.credit_card.card_holder.holder_namestring, required
numberpayments#payment_method.credit_card.card_numberstring, required
security_codepayments#payment_method.credit_card.cvvstring, required
  • The 3-4 digit security code for the card (i.e. CVV code).
  • API Reference
typeN/Astring, required
  • Type of Payment Instrument - for cards use PAYMENT_CARD.
  • API Reference
Request Arguments - Payment Instrument - Bank Account
Finix FieldWePay EquivalentTypeDescription
account_numberpayments#payment_method.payment_bank_us.account_numberstring, required
  • The bank account number (no dashes in between numbers).
  • API Reference
account_typepayments#payment_method.payment_bank_us.account_typestring, required
bank_codepayments#payment_method.payment_bank_us.routing_numberstring, required
identityN/Astring, required
  • The ID of the Identity that the payment method should be associated with.
  • API Reference
namepayments#payment_method.payment_bank_us.account_holder.holder_namestring, required
typeN/Astring, required
  • Type of Payment Instrument - for bank accounts use BANK_ACCOUNT.
  • API Reference

Step 2: Prepare Your Data

When migrating from WePay to Finix, you should focus on aggregating and exporting your payment data to send to Finix.

Payment data is the secured payment details of your customers, also called Primary Account Number data (or PAN data for short). PAN data includes secured credit and debit card details, bank account numbers, expiration dates, CVV, security codes, and other payment details saved for your customers on WePay.

To prepare your data for migration, start by reviewing the details of your customers in WePay's dashboard and verify all their information is accurate.

Platforms and Marketplaces

Platforms and marketplaces will also need to export their customer profile data.

Customer profile data includes the details of your sellers, like the name(s), email address(es), physical address, and merchant category code (MCC).

Migrating this data will help ensure there are no issues migrating sellers. If you have any questions about sellers or what information to export, reach out to the Finix Support team or your Finix point of contact.

Step 3: Contact Finix

When you're ready to begin migrating your customer and payment data from WePay, contact your Finix point of contact or the Finix Support Team to notify us.

Once we receive your migration request, Finix will begin making the needed technical preparations.

Step 4: Notify WePay

Reach out to WePay support with your account details and let them know you'd like to migrate all your payment data to Finix. You can also submit an export request using WePay's export form.

Be sure to:

  • Explicitly state you're seeking to export payment data with the intention of migrating off of WePay and over to Finix.
  • Include your Finix point of contact or Finix support on your request.

Including Finix on the request to keep us in the loop will help give our team permission to start working on the migration with WePay.

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.

Platforms and Marketplaces

Use the Customers page in WePay's Dashboard or the Customer Profile API resource to export the details of your sellers.

If you run into any issues migrating your seller data, please reach out to Finix Support Team or your Finix point of cotnact, and they'll help you migrate customer data into your Finix account.

WePay dashboard

Use the Customers page of the WePay dashboard to export your seller's data.

  • For details on how to export your seller data from WePay's dashboard, reach out to WePay support.

WePay Account API Resource

Use the legal_entities resource to export your seller's data from WePay's API. More details on the legal_entities can be found in WePay's API Reference: Create a legal entity.

Step 5: Finix Imports Data

Once you've submitted the migration request to WePay, Finix will work with WePay to ingest the necessary payment data and create Payment Instruments and Identities from the PAN data for your buyers.

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. If requested, Finix's most recent PCI DSS Attestation of Compliance (AoC) is available by request under a signed non-disclosure agreement with Finix.

When Finix receives the PAN data from WePay:

  • We'll begin decrypting the sensitive payment data in a PCI-compliant environment.
  • Once decrypted, the team will begin working with you to import the sensitive payment data into your Finix account and help you create Payment Instruments and Identity accounts for your buyers.

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 6: Verify Migrated Data

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. If there's any reason any data can't be used, we'll outline what's wrong and work with you and the original processor to resolve the issue.

The import process maps the original processor's token IDs to new Finix Payment Instruments, Identities, and custom fields. You can then use the newly created Payment Instruments and other data in your Finix integration to begin processing payments and building your integration.

Migration CSV

The CSV Finix provides will contain the following fields:

FieldDescription
import_reference_numberID generated by Finix that you can use to refer to a specific import.
finix_instrument_idThe ID of the new Finix Payment Instrument that got created from the tokenized payment data.
finix_identity_idThe ID of the Identity linked to the Finix Payment Instrument.
finix_application_idThe ID of the Application linked to the Finix Payment Instrument.
successfulDetails 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_idA 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 WePay.
    external_token_idThe token ID that your WePay created to identify the customer's tokenized payment details.
    customer_emailThe email address saved for the customer with the WePay.
    instrument_last_fourLast four digits of the payment card.
    card_brandThe brand of the payment card.
    expiration_monthExpiration month (e.g. 12 for December).
    expiration_year4-digit expiration year.
    error_msgAn 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_expiredDetails 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.

    Next Steps

    Once you've migrated your data from WePay and created the above resources, you're can start building and testing your Finix integration.