Recurring Payments - Manually Create Subscriptions

This document covers manually creating subscriptions and migrating subscriptions from another platform. It will not create a payment or subscription record at the payment gateway, this is for the purpose of adding a subscription to EDD that already exists at the payment gateway or for testing purposes.

About the Add New subscription fields

Price and Billing Cycle: Fields for Initial Price, Recurring Price and Billing Cycle. In most cases the initial and recurring amounts are the same.

Times Billed: This specifies how many payments should occur. 0 is default and allows the subscription to run indefinitely, until the store or customer cancels. If a number is entered here, then the user will be billed that many times after the initial purchase. Example: If "Times Billed" is set to 1, then the user will be billed twice - once for the initial purchase and once more for the "Times Billed" setting.

Customer Email: This allows you to select an existing customer or specify an email address to create new customer.

Product: The Product this subscription applies to.

Initial Purchase ID: A new subscription will either create a new payment record or an existing Order can be specified.

Gateway: If creating a new payment record, the gateway needs to be specified. This has to match the gateway that the subscription exists on or renewals and cancelations may not work properly.

Profile ID: This is the unique ID of the subscription in the payment gateway. Typically referred to as a Subscription ID.

Transaction ID: The initial purchase ID from the payment gateway. This is mostly for the store owner's reference and is not actually utilized by the EDD subscription.

Date Created: The date the subscription was created. This field is optional.

Expiration Date: The date the subscription expires and/or the date of the next renewal. 

Subscription Status: Current status of the subscription.

Required fields: Price and Billing Cycle, Customer, Product and Expiration Date.

How to Manually Create Subscriptions

  1. Navigate to Dashboard → Downloads → Subscriptions → Add New
  2. Set the Initial, recurring and billing cycle. Most likely the initial and recurring price is the same.
  3. Leave Times Billed set to 0 unless the subscription is to end after a set number of payments. Such as a payment plan.
  4. Set customer or input a new email address if the customer doesn't already exist.
  5. Select the Product that the subscription is tied to.
  6. If no order already exists in your EDD store, keep "Create new payment record" selected and choose the Gateway. If an order does exist, select "Enter existing payment ID" and input the Payment ID.
  7. If a transaction ID exists for the initial purchase, input the ID. This field is optional.
  8. Input the Date Created, otherwise today's date will be used, if left empty.
  9. Input the Expiration Date, which should match the expiration / renewal date of the subscription at the merchant processor.
  10. Set the Subscription Status.

Recreating a Subscription and Order

This might be used if you need to exchange a product tied to a software license or in the event both the subscription and order needed to be recreated.

  1. Navigate to Dashboard → Downloads → Subscriptions → Add New
  2. Set price and billing cycle to match the current subscription
  3. Times Billed should be 0 if the subscription was setup to run indefinitely.
  4. Select the customer. Since the subscription is being recreated, the customer should already exist.
  5. Select Download and variable option
  6. Leave "Initial Purchase ID" set to "Create new payment record"
  7. Use the Profile ID from the existing subscription
  8. Use the Transaction ID from the existing subscription
  9. Use the Date Created from the original subscription
  10. Use the Expiration Date from the original subscription 
  11. Set the subscription status Active
  12. Click "Add Subscription"
  13. Once you confirm the newly created subscription and order is setup as expected. You can delete the original subscription or update the Profile ID from the original subscription by setting it to blank or 0. This confirms upcoming renewals will only renew the new subscription in EDD, not the original you are replacing.

Recreating a Subscription for an existing order

In a rare instance you might have to re-create a subscription for an existing order. Most commonly if the subscription's price was updated at the payment gateway and you want it to reflect in EDD. Follow all steps to make sure the original subscription is properly handled.

  1. Navigate to Dashboard → Downloads → Subscriptions → Add New
  2. Set price and billing cycle to match the current subscription
  3. Times Billed should be 0 if the subscription was setup to run indefinitely.
  4. Select the customer. Since the subscription is being recreated, the customer should already exist.
  5. Select Download and variable option.
  6. Set "Initial Purchase ID" to Enter existing payment ID" and enter the Order ID.
  7. Use the Profile ID from the existing subscription
  8. Use the Transaction ID from the existing subscription
  9. Use the Date Created from the original subscription
  10. Use the Expiration Date from the original subscription 
  11. Set the subscription status Active
  12. Click "Add Subscription"
  13. Once you confirm the newly created subscription is setup as expected. You can delete the original subscription or update the Profile ID from the original subscription by setting it to blank or 0. This confirms upcoming renewals will only renew the new subscription in EDD, not the original you are replacing.

Manually Migrating Subscriptions

If you have existing Subscriptions in PayPal, Stripe or another Payment Gateway and want to migrate them over to work with the EDD Recurring Payments extension, follow these steps to make it work.  

1. Navigate to Dashboard → Downloads → Subscriptions → Add New.

2. Enter all of the data on the form there until you get to the field titled Profile ID.

3. Each Payment Gateway has a unique ID for each customer's subscription. To connect the user's subscription to the gateway, you need to obtain the Profile ID and Transaction ID from your Payment Gateway. Find your gateway below and follow the specific steps for that Gateway:

Stripe Subscription Profile ID and Transaction ID:

1. Log into your Stripe Account and navigate to Customers → Subscriptions in the left sidebar.

2. Click on the subscription in question. 

3. Copy the subscription ID and paste it into the Profile ID field in your WordPress dashboard (see first steps on this page).

4. Now, we need the Transaction ID. In your Stripe account, click on Payments (or click the customer's email address in the Subscription details) on the left sidebar. Find the first payment which started the customer's subscription. Click on it, and scroll down to the Connections section and copy the ID, beginning with "ch_":

5. Paste the Transaction ID and fill out the rest of the fields and click Add Subscription.

6. If you haven't already when you initially set up EDD Recurring, set the Stripe Webhook to point to your website so that it can tell Easy Digital Downloads when new recurring payments come in. Follow the  guide for setting up Recurring and Stripe webhooks here.

Paypal Standard Subscription Profile ID:

1. Log into your Paypal Account and find the subscription by clicking on History at the top.

2. Find the Payment in question and click on it. It will open up with more information. 

3. The Transaction ID will be listed there. Copy it and paste it for the "Transaction ID".

3. Back in your Paypal account, at the bottom click on See Details on Classic Site.

4. Copy the Profile ID and paste it into the field in your WordPress dashboard (see first steps on this page).

5. Finally, make sure you set your Paypal IPN to point to your website so that it notifies Easy Digital Downloads when a recurring payment has gone through. This way, a new Payment will be generated in Easy Digital Downloads to match up with the recurring payment in Paypal. You can follow the  Paypal IPN Guide to set up your IPN for Easy Digital Downloads.