Enable And Process Buyout/Purchase of Subscription Products
Introduction
If your rental subscription model allows customers to purchase their subscribed products either during or at the end of the subscription period, circuly makes the buyout process seamless through the circuly Hub and the Customer Self-Service Portal.
Feature overview
The Subscription Product Buyout feature in the circuly Hub allows your customers to purchase their subscribed product before or at the end of their subscription period. This feature simplifies the operational steps for your team and offers a smooth, self-service experience for customers.
You can choose to:
- Enable customer-initiated buyouts via the Customer Self-Service Portal — ideal if you want to automate the process and use the default retail price.
- Initiate buyouts manually from the circuly Hub — best suited for custom pricing or exceptional cases or if you do not want to offer buyout as a default option but are still willing to acomodate the request when made by the customer under certain conditions.
Key operational processes are handled automatically:
- Calculation of the buyout amount
- Charging the buyout amount via a one-time transaction
- Generating and sending an invoice
- Sending confirmation and success emails
- Updating the subscription status to “bought out”
Additional settings allow you to:
- Apply a discounted buyout calculation based on payments already made
- Cap the number of recurring payments credited toward the buyout price
- Include a two-step process with acceptance of custom terms and conditions
- Restrict customer-portal buyouts until the minimum contract duration has been reached
This flexibility lets you adapt the buyout process to your business model, pricing structure, and customer experience preferences.
Step-by-step guide
Summary of steps:
- Check the retail price of the subscription product.
- Enable the buyout feature in the Customer Self-Service Settings.
- Go through the additional settings options.
- Accessing the buyout option in the Customer Self Service Portal.
- The buyout process for your customers.
If you do wish to offer custom product prices when a customer request to buy the product, you can check out this article on initiating the buyout process manually from the circuly Operations Backend.
To learn more about the buyout process initiated by the customer from the Customer Self-Service Portal, continue reading this article.
1. Check the retail price of your subscription product
Before enabling the buyout feature, ensure the retail prices of all relevant products are correct.
- Go to Products tab in the circuly Hub.
- Click on the Edit button to make all the fields i the product list editable.
- Edit the Retail price of the products you want.
- Confirm by clicking on the Submit changes button.
2. Enable the buyout feature in the settings.
To make the buyout option available in the Customer Self-Service Portal you need the enable it in your settings first.
- Go to Settings > Self-Service Portal.
- Under Features > Navigate to the "Allow subscription buyout" setting > Enable the switch.
- Scroll down and click Save Changes
3. Additional buyout settings
There are four settings available to customise the buyout process from the Self-Service Portal. All of them require Allow subscription buyout to be enabled first.
1. Share of payments used for buyout calculation
The percentage value you enter represents how much of the recurring and initial payments already made will be credited toward the final buyout price.
- Default value:
100(100% of prior payments are deducted from the retail price) - Adjust downward if you want to retain a portion to cover operational costs
Example:
- Retail Price: €200
- Payments made: €30 (initial: €20 + recurring: €10)
- Discount setting: 80%
- Deducted: €16 + €8 = €24
- Final Buyout Price: €176
2. Maximum number of recurring payments to deduct from buyout price
When set, only the first N settled recurring payments are credited toward the buyout price. Leave empty for no limit.
This is useful when merchants want to cap how much of the subscription history counts — for example, if a customer has been renting for 3 years, you may not want all 36 payments to reduce the buyout price to near zero.
Example:
- Retail Price: €300
- 24 recurring payments of €20 made = €480 total paid
- Without a cap: buyout price would floor at €1 (payments exceed retail price)
- With cap set to
10: only the first 10 payments (€200) are credited - Final Buyout Price: €100
Note: This setting works in combination with the Share of payments setting. The cap is applied first (limiting which payments are counted), then the percentage is applied to that capped total.
3. Two-step buyout process
If enabled, customers see an additional confirmation screen where they can accept your custom terms and conditions before completing the buyout. Checkboxes (e.g. for T&Cs) are hardcoded — contact circuly support to define them.
5. Only allow customer-portal buyout after minimum duration is reached
When enabled, the Buy Product option is hidden in the Customer Self-Service Portal until the subscription's minimum contract duration has passed (auto_renew = true).
Important: This restriction applies only to customer-initiated buyouts in the Self-Service Portal. Hub- or admin-initiated buyouts are not affected and can still be processed at any time.
This is particularly useful if your subscription model requires customers to complete a minimum term before they are eligible to purchase.
6. Two-Step Buyout Process
Enables an extra confirmation screen for customers to accept your terms and conditions.
Terms are hardcoded; contact circuly support team by creating a ticket in the Support tab to define them.
See the image below to see how the terms and conditions appear to your customer.
.png)
Your customer then sees a second page where they have to check the box for the terms and conditions set by you.
.png)
4. Accessing the buyout option in the Customer Self Service Portal
Once enabled, customers will see a "Buy Product" option in the dropdown for each active subscription.Step 5: Confirming Buyout
- Upon clicking, a side panel displays:
- Retail Price
- Total Paid (Initial + Recurring)
- Final Buyout Price
- If you've enabled the two-step process, a confirmation screen with checkboxes for terms appears first.
- Customers then click "Confirm and Pay" (or "Continue" if two-step is active)
.png)
5. The buyout process for your customers
- When your customers click on the buy product option from the dropdown menu and confirm, a new window slides-in from the right with details about the product, the subscription and the price of the product.
.png)
- The calculation shows the Retail price and the Buyout price of the product after subtracting any payments already made by the customer such as the Initial payment and the monthly subscription payments.
Important: The buyout price may vary based on your settings. Read information under point 2 and 3.
- In case the payments already made by the customer is more than the retail price of the product, a symbolic buyout price of €1 is charged. The reason for doing so is also already given and explained to the customer.

- The customer can then click on the CONFIRM AND PAY button.
IMPORTANT: If you've enabled the Two step buyout process setting then the button will say CONTINUE. Read information under point 2 and 3.
- Once the process is through, a confirmation box appears on the screen with more information about the buyout.

- The status of the Subscription goes to pending buyout until the payment goes through (see explanation box above).
- All dropdown menu options under the selected subscription disappear except the option to Report an issue. This is done in order to make sure that the customer does not request another buyout for the same product and also does not cancel the subscription while the product attached to the subscription is under the pending buyout process.

- The customer additionally receives an invoice as confirmation for requesting a buyout.
.png)
- The customer receives the "Buyout Order Confirmation" email first from the email templates to confirm the subscription buyout.
- After the "Buyout Order Confirmation" email is sent, a one time transaction is triggered with the amount in the Buyout Price input field. The amount is charged immediately using the customers’s stored payment method.
- Once the payment is successfully charged, an invoice is generated for the one time payment (the email template "One time transaction" is used to generate an invoice) and sent to the customers (the email template "Payment was successful" is used to send the invoice to the customer that the payment was successful)
Note: Buyout payments can take some time to process when SEPA is chosen. This should be mentioned in the email communication with the customer. Example text that you can include in your buyout email: "Thank you for your order. You will receive an order confirmation by e-mail shortly. Depending on the payment method, it may take several days to process your payment. As soon as the payment has been successful, your subscription will be changed to "{statusBoughtOut}" and you will receive an email with your purchase invoice. If your payment cannot be processed, we will also notify you by email.
- When the payment is successful, the status of the subscription goes from pending buyout to bought out.
- The same is reflected in your circuly operations backend as the status of the subscription goes to bought out.
Good to know
- Identify whether a failed payment is due to a failed recurring payment or a failed product buyout payment - If you want to add specific information for failed buyout payments, you can use the variable {is transaction-buyout} in the Payment has failed email template (e.g. that the subscription is set back to active due to the failed payment).
.png)
- Add buyout link to the Subscription almost over email - when your customers get the Subscription almost over email you can encourage your customers to instead buy their subscription product. You can additionally make the customer journey easier by adding the redirect link for the buyout in the email body itself. The variable for that is {css buyout_link}.
.png)
