Commercial Packages

Earn additional passive income by developing packages and marking them as commercial. You set the price, optional recurring interval and price, accepted payment methods, have full control over all aspects, and receive 70% of all sales. This page describes exactly how to mark packages as commercial, and put them up for sale.

Package Configuration

Within the /etc/<PACKAGE>/package.yml configuration file, inside the general section there are several variables that apply to commercial packages

key Description
access Supported values are public, commercial, private. Set this element to commercial to sell the package.
price The amount in USD to charge for the package.
price_recurring If you wish to charge a recurring fee for continued upgrades and support, this is the recurring fee to charge in USD.
price_interval If a recurring fee has been set, the recurring interval to charge the end-user. See below for details.
allow_num_installs The number of different servers / IP addresses the package may be installed on before requesting additional installs from you.

price_interval Element

If you defined a recurring price, you also need to define the price_recurring element which specifies how often to charge the user. This is formatted at PXX where P is one of the following:

  • D - Days
  • W - Weeks
  • M - Months
  • Q - Quarters
  • Y - Years

Then XX is any number you wish. For example, M1 would be every month, Q2 would be semi-annualy, while Y1 would be every year.

Example

For example, within the package.yml configuration file:

general:
  access: commercial
  price: 129.95
  price_recurring: 29.95
  price_interval: M6
  allow_num_installs: 3

The above example defines a packages that is sold for $129.95, plus $29.95 every 6 months in order to retain access to support and upgrades. Each customer may also install the package on three different servers before requesting additional installs from you.

Update Package

If the package has already been published upon updating the settings within the package.yml file you must run the package update CLI command for them to take effect, such as:

apex package update <PACKAGE>

This will update the network will all current settings within the package.yml file.

Account Setup

To sell packages commercially you must also define which payment methods you wish to accept. To do this, login to your account and once logged in visit the Account Settings menu.

This menu contains a tab page, and one of the tabs is Payment Methods where you may define which payment methods you wish to accept. Additional payment methods will be added on a regular basis, but if there are any specific payment methods you wish to see, please contac us.

PayPal

All PayPal sales will be sent directly to you, but in order to accept PayPal you must have enough crypto in your account to cover the 20% fees, which will be deducted as sales come in. You may deposit crypto into your account anytime via the My Coin Accounts menu of the member's area and generating a new payment address.

Crypto

A new payment address is generated for every order, and approved with zero confirmations providing users instant access to their purchases. You may view the balance of your crypto accounts through the My Coin Accounts menu. Anytime you wish to withdraw funds, you may do so through the Send Funds menu.

Sales Page

The package on your local machine will contain a /docs/<PACKAGE>/sales.md file. The contents of this file is displayed when someone views the package who has not yet purchased it and does not have access to the package.

The sales.md file is intended to be the sales pitch for the package, list all of its features, link to an external web site if necessary, display screen shots, or whatever else you desire.

When you publish a package, it is availble at https://code.apexpl.io/<USERNAME>/<PACKAGE>. For example, the bitcoin package is available at [[https://code.apexpl.io/apex/bitcoin]], and upon viewing that URL, unless you have already purchased the package the contents of that sales.md file will be displayed along with a Purchase Now button and basic details such as price.

Upon clicking the Purchase Now button the user will be brought to a page showing basic pricing information and ask which payment method they would like to use. Only the payment methods you have chosen to accept from within the member's area will be displayed. Once payment is received, the user will instantly have access to the download and the funds will be available in your account.

Installing Commercial Packages

Once purchased, the user will receive a license ID. Commercial packages are installed exactly the same as standard packages via the install CLI command, for example:

apex install <PACKAGE>

If it's a commercial package, the user will be prompted for a license ID. Once a valid license ID is specified, the install will happen as normal.