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_id=&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": "[email protected]"
}