Merchant Customer Migration
Introduction
Merchants can make use of CCG capabilities to facilitate Customer and Payment Method migrations. To initiate the migration process, the merchant will provide migration files, utilizing the CCG Migration templates. Once the files are shared, CCG will take charge of creating customers and linking payment methods, which will subsequently be available in CCG upon completion of the process.
Additionally, CCG will generate error and success extracts. The error extract will enable the merchant to identify any potential issues in the original file, while the success extract will provide the CCG Payment Method Ids that resulted from the migration process.
There are two types of migrations, depending on the Payment Method: Bank Account or Card.
Migration File
The migration files contain essential information required for successful customer migration. Depending on the Payment Method type, the files contain optional and compulsory fields. Below, we will provide a description of each field.
- Card file: Customer Information + Card Information
- Bank Account file: Customer Information + Bank Account Information
Customer Information:
field | type | Compulsory | description |
---|---|---|---|
customer[merchant_customer_key] | Map<String, String> | Merchant Customer Identifier. Multiple merchant customer identifiers can be provided. | |
firstName | String | first name | |
lastName | String | last name | |
String | email address | ||
ssnLastFour | Digits (4) | SSN last four digits, e.g 1234 | |
phoneCountryCode | Digits (3) | Phone country code, e.g. 001 | |
phoneNumber | Digits (20) | Phone number, e.g. 0123456789 | |
dateOfBirth | Date (YYYY-MM-DD) | Date of Birth, e.g. 1975-11-14 | |
zip5 | Digits (5) | ZIP Code, e.g. 10001 | |
hsid | UUID | HealthSafe Identifier of the customer | |
enterpriseId | String | Enterprise Identifier of the customer |
Card Information:
field | type | Compulsory | description |
---|---|---|---|
vaultCardId | String | Merchant Payment Method Identifier | |
nameOnCard | String | Name on card | |
zipOnCard | Digits (5) | ZIP Code on card, e.g. 10001 | |
cardLast4 | Digits (4) | Card number last four digits, e.g. 1234 | |
expirationYear | Date (YYYY) | Expiration Year, e.g. 2032 | |
expirationMonth | Date (MM) | Expiration Month, e.g. 12 | |
cardNickName | String | Card nickname | |
isDefault | Boolean | Default card flag | |
isManufacturer | Boolean | Manufacturer card flag |
Sample Card Migration template:
card_test_migration_file_20240625-153549.csv
Bank Account Information:
field | type | Compulsory | description |
---|---|---|---|
accountHolderType | individual/business | Type of account holder | |
accountType | checking/savings | Type of account | |
bankName | String | Name of the bank | |
accountLast4 | Digits (4) | Last four digits of the bank account | |
accountNumber | String | Account number | |
routingNumber | String | Routing number | |
nameOnAccount | String | Name on bank account | |
accountNickName | String | Bank account nickname | |
isDefault | Boolean | Default bank account flag |
Sample Bank Account Migration template:
bank_account_test_migration_file_20240701-095200.csv
Migration Extracts
Refer Merchant Extract
File Delivery
ECG QuickConnect will be used for transferring migration files between Merchant and CCG.
Migration Performance
The Merchant Customer Migration process involves creating customer records followed by the creation of payment methods. The performance of this process can vary depending on the environment in which it is executed. Below, we provide rough estimates of the maximum number of records processed per second in a production environment:
- Customer Creation: up to 65 records per second
- Payment Method Creation: up to 30 records per second
As CCG handles the above processes asynchronously, it may take some time to receive event responses via webhooks for these requests.
Based on previous migrations, we have been able to process approximately 1 million records over a 24-hour period.