All Collections
Multi-Platform Subscription App (Not for Shopify)
Configuring PayWhirl Settings For Your Business
How to create a pre-paid plan that generates orders on a different frequency
How to create a pre-paid plan that generates orders on a different frequency

How to setup a payment plan to place orders on a different schedule then it bills. This is very helpful for setting up pre-paid plans.

Ryan P. avatar
Written by Ryan P.
Updated over a week ago

On PayWhirl, you can sell pre-paid plans in addition to traditional monthly subscriptions. If you also happen to use a PayWhirl integration that supports order generation (Shopify, BigCommerce, ShipStation, etc.) you can opt to have orders placed on a different schedule then your pre-paid billing.


For example, a pre-paid plan can be set up to bill a customer every three months but still generate orders monthly. Suppose you have a coffee subscription box and want customers to have options to purchase multiple months at a time for a discount...

In this example, we are going to create a 3-month prepaid plan that places orders monthly in our integration. This plan will bill the customer on signup and again every 3 months; however, it will generate orders to be fulfilled each month (like a traditional monthly plan).

To make a pre-paid plan, go to the "Manage Plans" page create a new payment plan:

  • On Pre-Paid plans we will use the SETUP FEE to bill the customer. Set the charge amount to "0" 

  • Next, the frequency is set to "Every 1 Month". This ultimately determines when ORDERS are placed in your connected platform. If you wanted orders weekly instead of monthly, you'd change this to "Every 1 Week". 

  • Add a product SKU, this carried into the order to help with fulfillment (optional). 

  • Next, we set the price of our pre-paid plan using the setup fee*. In this example, we will make the price of the 3-month subscription $50. 

  • Next, we need to change the setup fee to the bill, "Every time a customer subscribes." This will ensure the setup fee is billed each time the plan renews. 

  • The number of installments setting should be 1 more than the number of orders the customer should receive. If the customer is getting 3 orders, set this to 4. The last installment won't place an order but ensures that the billing timing is correct. 

  • Initially, the "after last installment" setting should remain on the default, "unsubscribe customer" however, after the plan has been saved, you will need to select the plan you just created in the dropdown. This will ensure the plan auto-renews and create a loop (optional). Save the plan and set "After last installment" setting to be the same plan (optional / enables auto-renew)

  • Finally, change the plan's order settings for your connected platform to "Place orders on all EXCEPT LAST payment." This prevents the extra installment we added above from becoming an order.

That's it you are ready to add your new prepaid plan to a widget right alongside your traditional monthly plan(s).

To recap, this pre-paid plan we setup will only bill the customer once every 3 months; however, it will generate orders once per month. We also set this plan to "auto-renew" by using the after last installment setting to re-subscribe the customer back to the same plan when the cycle is over.

Additional Notes:

  • If a customer cancels our plan before it auto-renews, it will only cancel the auto-renew, and orders would still be generated for their remaining items.

  • *If your plan has shipping enabled, it will charge shipping based on your shipping rules for EACH order. 

  • *The setup fee is not used to calculate taxes. If you need to charge tax, make sure to include it in the setup fee.

As with everything, we recommend you test the entire process using the PayWhirl Test Gateway before going live. If you have any questions about setting up prepaid plans on our connected platforms, feel free to contact support.

Related Articles:

Please let us know if you have any questions.

Sincerely,
The PayWhirl Team

Did this answer your question?