PLEASE LET US KNOW IF YOU HAVE ANY QUESTIONS ABOUT THE PROCESS.
If you are migrating to subscriptions to Shopify or switching to PayWhirl from another subscription app, we can help import your existing subscriptions and make the process seamless for your customers. Customers will not have to resubscribe or provide their payment information again.
Subscription Import Requirements
You are using a gateway that works with Shopify subscriptions (Stripe, Shopify Payments, Authorize.net, PayPal Express, or Braintree.)
You have already imported your customers into Shopify and their payment methods. If not, please review this article for instructions.
You have a properly formatted import file with the subscription information (see the sample file below).
We've created a sample import file to assist with the process. In a nutshell, you fill out a spreadsheet with all the required information (see the table and sample file below), then send it to our team, and we'll import the file to create the subscriptions.
*Please use the sample file as a template. The columns must be in the correct order and use the exact labels.
We offer the import service as a free courtesy, but our support team cannot modify the file you send us. Please make sure it matches the formatting exactly, or we won't be able to import it. If you have any questions about the formatting, please don't hesitate to get in touch with our support team.
Column name | Type | Required | Example | Description |
source_id | String | Required | 1234567 | Unique ID in the legacy system, required to avoid importing the same subscription more than once |
customer_id* | Customer ID | Required | 2930896994378 | Shopify ID of the customer
*Alternatively, you can use the column name customer_email and provide the email address instead* |
next_order_date | DateTime | Required | 2021-12-15T12:30:00 | Timestamp of the next order date. If it doesn't contain an explicit timezone, UTC is assumed |
currency | String | Required | USD | 3-letter currency code |
payment_method_id | Payment Method ID | Optional | e7219f3b896e813799ec786bdd5ecd70 | Shopify ID of the preferred payment method. If empty, we'll try to use the latest active payment method of the customer |
billing_interval_type | Interval Type | Required | year | Type of the billing interval [year, month, week, day] |
billing_interval_count | Integer | Required | 3 | The number of intervals between billings |
delivery_interval_count | Integer | Optional | 1 | The number of intervals between deliveries (only required for pre-paids) |
billing_min_cycles | Integer | Optional | 10 | Min amount of billings before the customer can cancel |
billing_max_cycles | Integer | Optional | 20 | Max amount of billings after which the subscription expires |
billing_anchor_day | Integer | Optional | 20 | Anchor day: 1-7 for days of week (1 = Monday), if billing_interval_type is "week", or 1-31 for days of month, if billing_interval_type is "month" or "year" |
billing_anchor_month | Integer | Optional | 10 | Anchor month: 1-12, only used if billing_interval_type is "year" |
finishing_behavior | Finishing Behavior | Optional | immediately | Finishing behavior [immediately, end-of-cycle] |
delivery_method_type | Delivery method type | Optional | shipping | Delivery method type [shipping, pickup, local-delivery] |
delivery_price | Decimal | Required | 5.99 | Delivery price (enter zero for free shipping/digital products) |
delivery_first_name | String | Optional / Required for delivery | John | Delivery address: first name |
delivery_last_name | String | Optional | Smith | Delivery address: last name |
delivery_address_1 | String | Optional / Required for delivery | 555 Beverly Hills | Delivery address: first-line, typically the street address or PO Box number |
delivery_address_2 | String | Optional / Required for delivery | Apartment 123 | Delivery address: second line, typically the number of the apartment, suite, or unit |
delivery_province_code | String | Optional / Required for delivery | CA | Delivery address: two-letter code for the region |
delivery_city | String | Optional / Required for delivery | Los Angeles | Delivery address: name of the city, district, village, or town |
delivery_zip | String | Optional / Required for delivery | 55555 | Delivery address: zip or postal code |
delivery_country_code | String | Optional / Required for delivery | US | Delivery address: two-letter country code |
delivery_phone | String | Optional / Required for delivery | +16135551111 | Delivery address: phone number formatted using E.164 standard |
delivery_company | String | Optional | PayWhirl | Delivery address: company or organization |
delivery_pickup_location_id | Location ID | Optional / Required for 'pickup' delivery_method_type | 61054058662 | ID of the pickup location |
local_delivery_instructions | String | Optional | Please leave at the reception desk | Local delivery instructions. Used only for 'local-delivery' delivery_method_type |
customer_note | String | Optional | Looking forward to my order! | Notes left by the customer at checkout pertaining to the order |
merchant_note | String | Optional | VIP Customer | Notes left by the merchant pertaining to the order, not visible to customer |
line_0_variant_id | Variant ID - first line item | Required | 32500008190026 | Line item: Shopify ID of the product variant |
line_0_quantity | Integer | Required | 1 | Line item: quantity of the product |
line_0_price | String | Required | 12.34 | Line item: the price of the product |
line_0_selling_plan_id | Integer | Optional | 87456985332 | ID of the associated selling plan in PayWhirl |
line_1_variant_id | Variant ID - second line item | Optional / Required for multiple line items | 32500008190026 | Line item: Shopify ID of the product variant |
line_1_quantity | Integer | Optional / Required for multiple line items | 1 | Line item: quantity of the product |
line_1_price | String | Optional / Required for multiple line items | 12.34 | Line item: the price of the product |
line_1_selling_plan_id | Integer | Optional / Required for multiple line items | 59637425992 | ID of the associated selling plan in PayWhirl |
The delivery fields are optional, but all must be filled out for all physical items. If you create a digital subscription or other non-physical product, please leave them all blank.
To find the product variant id, you can add the product to the cart in Shopify and then click on the link to go back to the product. This will fill in the selling plan and variant ID at the top in the URL bar:
Need help finding some of the information? Contact our support team, and we will guide you as best we can.
Completing the Import
Once you have prepared your import file, please contact our team so we can review the data and work with you to ensure a successful subscription migration to PayWhirl on Shopify.
After the subscriptions have been imported you can review and activate them as needed (one at a time or in bulk). Please note that activating will trigger the new subscription email. Please ensure you have your email settings configured and toggled accordingly.
Please let us know if you have any questions or concerns.
Sincerely,
The PayWhirl Team