Trials, Licensing & Checkout

Protect your app with a time-trial; take payments in-app & on the web.

We're in the process of updating our Windows SDKs. The content below relates to our previous version. Please contact our support team if you wish to implement Windows in-app checkouts or licensing.

Getting Started

After completing SDK Basic Setup you can call StartLicensing(). This will check whether the user has activate the product or not and show them a time trial reminder if need be. It is important to check the result from StartLicensing() as this will indicate whether or not your application needs to quit. We do not force quit the application as most applications will have their own logic here to deal with exiting. For example:


using PaddleSDK;
namespace PaddleSDKExample
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
            var paddle = Paddle.CreateSharedInstance("298c1c56fa2c2733220d54fdf211ea49", 13578, "503866");
            if(!paddle.StartLicensing())
            {
                // StartLicensing will return false if the app needs to exit (e.g. trial has expired and 
                //  user doesn't want to pay). You may want to do some cleanup here or save the flag and
                //  exit in a more appropriate manner for your application.
                Application.Exit();
            }
        }
    }
}

If a user is offline the Paddle SDK will use the information it saved on the last successful session. If a user is running the app for the first time and is also offline the SDK will skip validation. Alternatively you can manually set information to be used using the SetFirstRunProductInformation(...) method. For example:


var firstRunInformation = new PaddleProductInformation()
            {
                DeveloperName = "Vendor Name",
                ProductName = "Product Name",
                Currency = "USD",
                Price = 12.34M, // M for Decimal literal
                TrialLength = 10
            };
            paddle.SetFirstRunProductInformation(firstRunInformation);
            if(!paddle.StartLicensing())
            {
                // ....