Skip to main content
Easy Digital Downloads Documentation
Documentation, Reference Materials, and Tutorials for Easy Digital Downloads

Software Licensing API – Example using C#

This document is a subset of the Software Licensing API document which lists all features available via the API. The following is example code showcasing how to implement those features with C#.

Request

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            // Create a request using a URL that can receive a post.
            WebRequest request = WebRequest.Create ("https://yoursite.com/");


            // Set the Method property of the request to POST.
            request.Method = "POST";


            // Create POST data and convert it to a byte array. Do not include the URL if you do URL verification in the EDD SL settings
            string postData = "edd_action=check_license&license=&item_name=&url=";
            byte[] byteArray = Encoding.UTF8.GetBytes (postData);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream ();
            dataStream.Write (byteArray, 0, byteArray.Length);
            dataStream.Close ();


            // Get the response.
            WebResponse response = request.GetResponse ();
            dataStream = response.GetResponseStream ();
            StreamReader reader = new StreamReader (dataStream);


            // Read the content. This is the response from the Software Licensing API
            string responseFromServer = reader.ReadToEnd ();


            // Display the content
            Console.WriteLine (responseFromServer);


            // Clean up the streams.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }
    }
}

Response

A response to the above query would be a JSON formatted string that would look something like this:

{
	"license": "valid",
	"item_name": "EDD Product name",
	"expires": "2014-10-23 00:00:00",
	"payment_id": 54224,
	"customer_name": "John Doe",
	"customer_email": "john@sample.com"
}