Migrating Card Data
Moving from your current providers involves a three-step process that will go completely unnoticed to your customers (rest assured, they will not need to reenter their card information at any stage during or after the move):
- You contact your providers to request an export of your card data.
- We tokenize the card data for you and migrate the cards to PaymentsOS.
- You modify your code logic so that existing customers use the card information stored with PaymentsOS.
- Depending on your account status, we may charge a fee for migrating your card data. Contact your account representative at email@example.com to discuss fees that may apply.
- If you are accepting payments through a mobile app, you will need to update your app to use the card data stored with PaymentsOS. Customers who do not upgrade to the latest app version will still use tokens stored with your providers. We therefore recommend that you deprecate old app versions to ensure customers using your mobile app are moved to PaymentsOS as well.
To ensure a smooth transition, start the process from the moment at which you completed the integration with PaymentsOS and new customers are already storing their card tokens on our servers.
Let's explore each of these steps in more detail.
Step 1: You request an export of your card data
To get the process started, work with your current providers to obtain an export of your customers' card information. The card data must be exported to a PGP-encrypted csv file. Contact us at firstname.lastname@example.org so that we can provide you with a public key for each file that needs to be encrypted. You need to make sure the data export includes at least the following fields:
- card holder name
- card number
- expiration date
- customer reference
Optionally, include the customer's first name, last and email address as well. Then send us the file to email@example.com.
- While we recommend your providers use PGP to encrypt your data files, some providers may require another encryption technology. If this is the case, contact us at firstname.lastname@example.org so that we can review the encryption requirements.
- If you require our PCI certificate, contact us at email@example.com to request a copy.
Step 2: We migrate the card data to PaymentsOS
After you send us the encrypted files, we will tokenize the cards, create customers on our server and migrate the card data for you. Pending the migration, your existing customers will still use the card information stored at your providers.
Note that at this stage, there may be a slight possibility that some existing customers will want to update their card information while we are still processing your card data. In this case, make sure you modify your code logic for handling card updates to move those customers to PaymentsOS 'on the fly'.
Code Logic for Handling Card Updates in the Interim
Step 3: You modify your code logic
The last step is to modify your code logic so that existing customers use the card information stored with PaymentsOS.
Code Logic for Using the Card Information Stored with PaymentsOS
As part of the data migration, we created customer objects in which your customer tokens are saved. To uniquely identify each customer, we used the customer reference that you provided in the data export file. All what is left for you to do, is fetch the tokens using the Retrieve Customer by Customer Reference API. For more information, see how to Use the Saved Token to Accept a Payment.
The following checklist will help you complete the card migration process.
|Contact us at firstname.lastname@example.org to obtain the public key that your provider will use for encrypting the card information file.|
|Contact your provider and request a data export to a PGP-encrypted csv file. Make sure your provider uses our public key to encrypt the file.|
|Send the encrypted data export file to email@example.com.|
|Once we inform you that the migration has been completed, update your code logic so that existing customers use the card information stored with PaymentsOS. You can fetch a customer's payment method using the Retrieve Customer by Reference API.|