What is the main difference between Paid App or Free App on the AppExchange?

A free app is one in which salesforce security review won't cost you any money and your app can be installed by consumer free of cost.

In a paid app you can control the license and the consumer will have to go through a payment portal to make payment and purchase license. Salesforce provides you with a LMA application to manage licenses. LMA is a Salesforce app that will sit on your business Salesforce instance. Please note that you will be charged by Salesforce for security review and there will also be a revenue sharing based on agreement with salesforce ISV team.

Salesforce provides you a Trial Template orgs and you will get trial orgs for allowing customer to go through a trial.

You can achieve what you mentioned in point 3 provided you have made your app paid. If you have not made your app paid upfront then you won't be able to charge for your app.


Regarding #3, if your app is connecting to an external service (ie: your own back-end app running in your own server), you can always create a free package, but charge for the account running in your server. You ask your customer to create a free trial account on your server, install a free Salesforce package, and then disable the account on your server after the trial has expired if the user does not want to purchase premium service.

Having said this, this is my personal opinion: the above only makes sense if your external application is storing or manipulating data for the user in a way that couldn't be done in Salesforce. If you're doing this just to be able to charge for our app bypassing the AppExchange, it's bad commercial practice and will give you some technical headache (there are some design limitations when connecting to an external service, especially around callouts and DML).