Anmelden
Loslegen

Easy Digital Downloads Dokumentation

Dokumentation, Referenzmaterialien und Tutorials für Easy Digital Downloads 

Software Licensing API – Beispiel mit JavaScript

Dieses Dokument ist ein Teilsatz des Software Licensing API-Dokuments, das alle über die API verfügbaren Funktionen auflistet. Das Folgende ist Beispielcode, der zeigt, wie diese Funktionen mit JavaScript implementiert werden.

Wenn Sie jQuery verwenden, sehen Sie sich unser jQuery-Beispiel an.

Beispiel GET-Anfrage

const url = new URL( 'https://yoursite.com/' ); // Site with Software Licensing activated.
const urlParams = new URLSearchParams( {
	edd_action: 'check_license',
	license: '59cc77ea94a2d867069a9d96142a35b8', // License key
	item_id: '356', // Product ID
	url: 'domain.com' // Domain the request is coming from.
} );
url.search = urlParams.toString();
fetch( url.toString() )
	.then( response => {
		if ( response.ok ) {
			return response.json();
		} else {
			return Promise.reject( response );
		}
	} ).then( data => {
		// Software Licensing has a valid response to parse
		console.log( 'Successful response', data );
	} ).catch( error => {
		// Error handling.
		console.log( 'Error', error );
	} );

Beispiel POST-Anfrage

const formData = new FormData();
formData.append( 'edd_action', 'check_license' ); // Valid actions are activate_license, deactivate_license, get_version, check_license
formData.append( 'license', '59cc77ea94a2d867069a9d96142a35b8' ); // License key
formData.append( 'item_id', '356' ); // Product ID
formData.append( 'url', 'domain.com' ); // If you disable URL checking you do not need this entry.

// Site with Software Licensing activated.
fetch( 'https://yoursite.com/', {
	method: 'POST',
	body: formData
} ).then( response => {
	if ( response.ok ) {
		return response.json();
	} else {
		return Promise.reject( response );
	}
} ).then( data => {
	// Software Licensing has a valid response to parse
	console.log( 'Successful response', data );
} ).catch( error => {
	// Error handling.
	console.log( 'Error', error );
} );

Antwort

Eine Antwort auf die obigen Anfragen wäre ein JSON-Objekt, das ungefähr so aussehen würde:

{
    "success": true,
    "license": "valid",
    "item_id": 12534,
    "item_name": "Your Product Name",
    "expires": "2022-02-26 23:59:59",
    "payment_id": 123456,
    "customer_name": "Jane Doe",
    "customer_email": "[email protected]",
    "price_id": 0,
}

Beispielanfrage für ältere Browser

Die obigen Beispiele sind für moderne Browser geschrieben. Wenn Sie IE-Unterstützung benötigen, bevorzugen Sie möglicherweise die Verwendung eines XMLHttpRequest-Objekts:

// Handling a Software licensing request without jQuery in pure JavaScript. Support for older browsers.
var xhttp = new XMLHttpRequest();

// The url to the site running Easy Digital Downloads w/Software Licensing
var postUrl = 'https://yoursite.com/';

xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        var slData = JSON.parse(xhttp.responseText);
        handleSoftwareLicensingResponse( slData );
    }   
}

var data = {
	edd_action: 'check_license', // Valid actions are activate_license, deactivate_license, get_version, check_license
	license: '59cc77ea94a2d867069a9d96142a35b8', // License key.
	item_id: '356', // Product ID
	url: 'domain.com' // If you Disable URL Checking, you do not need this entry
};

xhttp.open("POST", postUrl, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.setRequestHeader("Access-Control-Allow-Origin", "https://local.dev");

var values = '';
for (var key in data){
    values += key + '=' + data[ key ] + '&';
}
values = values.substring(0, values.length - 1);

xhttp.send(values);


function handleSoftwareLicensingResponse( slData ) {
    if ( slData.success == true ) {
        console.log(slData);
        // Software Licensing has a valid response to parse
    } else {
        // Invalid request was made to software licensing
    }
}
Was this article helpful?

Verkaufen Sie noch heute!

Schließen Sie sich über 50.000 klugen Shop-Besitzern an und nutzen Sie die einfachste Methode, um digitale Produkte mit WordPress zu verkaufen.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]