Migrating from WePay

Migrating from WePay

Learn how to migrate your data from WePay 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: Integration Overview

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.

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.

Payment Methods

The Finix Payment Instrument resource corresponds to two WePay resources:

A Payment Instrument represents your buyer's or seller's payment method. To implement this in your integration, see our guide on Create a Payment Instrument.

Identity Resources

The Finix Identities resource corresponds to WePay's legal_entities resource. This resource represents the personal details of your buyers and sellers. An Identity is required for processing payments with both buyers and sellers.

To implement identity management, refer to our documentation on Create an Identity.

Merchant Resources

The Finix Merchant resource corresponds to WePay's account resource. A Merchant resource is essential for sellers to process payments.

For implementation details, see our guide on Create a Merchant.


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:

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 contact, 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.

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:

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.

CSV Output

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.

CSV Fields

Field Description Example
card_brand Brand of the payment card. Visa
customer_email Customer's email address saved with the original payment provider. customer@example.com
error_msg Returned when there’s an issue locating an account. Use the details in error_msg to reach out to the cardholder and confirm their payment information. After confirming, create a Payment Instrument with the updated details. null, Account not found
expiration_month Payment card's expiration month. 12
expiration_year Payment card's 4-digit expiration year. 2026
external_customer_id Unique ID (from your original provider) to reference a specific customer and their saved payment details. cus_abc123def456
external_token_id Token ID from your original provider that identifies the customer’s tokenized payment details. token-abc123
finix_application_id ID of the Application linked to the Finix Payment Instrument. APdoThHn4jjYUSxQf76txAgg
finix_identity_id ID of the Identity linked to the Finix Payment Instrument. IDcV3F1FzHB5cT9DoGZLJ39Q
finix_instrument_id ID of the Finix Payment Instrument created from the tokenized payment data. PI8uU6wfi6hqBoWmzm9L4F2b
import_reference_number Unique ID generated by Finix to reference a specific import. 221014_TESTIMPORTHERE007
instrument_last_four Last four digits of the payment card. 4242
is_expired Indicates whether the payment card is expired. When true, it means the card is expired and cannot be used. Use the Account Updater to get updated information. true, false
successful Indicates if a Finix Payment Instrument was created successfully using the tokenized payment data. When false, it indicates Finix couldn’t create a Payment Instrument. Review the details in external_customer_id and try creating a Payment Instrument directly using Finix's API. true, false

CSV Example

The CSV will look like this:

Example Payment Migration CSV

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


Appendix

Buyer Data Mappings

Finix Field WePay Equivalent Description Finix API Ref
city payments#payment_method.credit_card.card_holder.address.city Optional, the city listed on the buyer's billing address Link
country payments#payment_method.credit_card.card_holder.address.country Optional, the country listed on the buyer's billing address Link
email payments#payment_method.credit_card.card_holder.email Optional, the buyer's email address Link
first_name payments#payment_method.credit_card.card_holder.holder_name Optional, the buyer's first name Link
last_name payments#payment_method.credit_card.card_holder.holder_name Optional, the buyer's last name Link
line1 payments#payment_method.credit_card.card_holder.address.line1 Optional, line one of the buyer's billing address Link
line2 payments#payment_method.credit_card.card_holder.address.line2 Optional, line two of the buyer's billing address Link
phone payments#payment_method.credit_card.card_holder.phone Optional, buyer's phone number Link
postal_code payments#payment_method.credit_card.card_holder.address.postal_code Optional, the zip or postal code listed on the buyer's billing address Link
region payments#payment_method.credit_card.card_holder.address.region Optional, the state listed on the buyer's billing address Link

Seller Data Mappings

Finix Field WePay Equivalent Description Finix API Ref
business_address legal_entity#address Primary address for the legal entity Link
business_name legal_entity#legal_entity_name The seller's legal business name Link
business_phone legal_entity#phone Seller's customer service phone number Link
business_tax_id legal_entity#entity_country_info.US.employer_identification_number Seller's Nine digit Tax Identification Number (TIN) or Employer Identification Number (EIN) Link
business_type — The entity type of the seller. Use the respective enum Link
default_statement_descriptor account#statement_description A description of the seller that appears on the buyer's bank or card statement Link
dob legal_entity#date_of_birth The control owner's date of birth Link
doing_business_as account#name Alternate names of the business Link
email legal_entity#email The email address of the principal control owner Link
first_name legal_entity#name.first The legal first name of the control owner Link
incorporation_date legal_entity#year_of_formation The date the company was founded and registered Link
last_name legal_entity#name.last The legal last name of the control owner Link
max_transaction_amount — The maximum amount (in cents) that can be charged for a single transaction Link
ach_max_transaction_amount — The maximum amount (in cents) that can be charged for a single ACH transaction Link
mcc account#industry_code.code The Merchant Category Code (MCC) that this merchant will be classified under Link
ownership_type legal_entity#entity_country_info.US.legal_form The legal entities ownership type. Use the respective enum Link
personal_address legal_entities#controller.address The billing address of the control owner Link
phone legal_entities#controller.phone The principal control owner's phone number Link
principal_percentage_ownership — Percentage of the company owned by the principal control owner Link
tax_id legal_entities#entity_country_info.US.employer_identification_number Pass either the TIN, ITIN, or control owner's SSN Link
title legal_entities#controller.job_title The corporate title of the control owner Link
url legal_entities#primary_url The URL of the seller's public website Link

Credit Card Data Mappings

Finix Field WePay Equivalent Description Finix API Ref
address payments#payment_method.credit_card.card_holder.address The address of the card owner Link
expiration_month payments#payment_method.credit_card.expiration_month The expiration month of the card Link
expiration_year payments#payment_method.credit_card.expiration_year The 4-digit expiration year of the card Link
identity — The ID of the Identity that the payment method should be associated with Link
name payments#payment_method.credit_card.card_holder.holder_name The name of the card owner Link
number payments#payment_method.credit_card.card_number The card number (no dashes in between numbers) Link
security_code payments#payment_method.credit_card.cvv The 3-4 digit security code for the card (i.e. CVV code) Link
type — Type of Payment Instrument - for cards use PAYMENT_CARD Link

Bank Account Data Mappings

Finix Field WePay Equivalent Description Finix API Ref
account_number payments#payment_method.payment_bank_us.account_number Bank account number Link
account_type payments#payment_method.payment_bank_us.account_type Bank account type Link
bank_code payments#payment_method.payment_bank_us.routing_number Bank account routing number Link
identity — The ID of the Identity that the payment method should be associated with. Link
name payments#payment_method.payment_bank_us.account_holder.holder_name Name of accountholder or cardholder Link
type — Type of Payment Instrument Link