Autentificare
Începe

Documentație Easy Digital Downloads

Documentație, Materiale de Referință și Tutoriale pentru Easy Digital Downloads 

Licențierea Software - Probleme Comune și Întrebări Frecvente

Extensia de Licențiere Software pentru Easy Digital Downloads necesită o anumită configurare și integrare – și este posibil să întâmpinați unele probleme. Câteva dintre acestea sunt prezentate aici cu soluții potențiale.

Întrebări frecvente

Cum contactați clienții atunci când o actualizare este disponibilă?

Este recomandat să utilizați un serviciu de marketing prin e-mail, cum ar fi Mailchimp sau ConvertKit. WordPress nu este recomandat pentru trimiterea de e-mailuri în masă, deci contactarea utilizatorilor trebuie făcută în afara EDD/WordPress.

Este posibil să vindeți licențe personalizate / enterprise?

Deși nu există suport încorporat pentru vânzarea de licențe personalizate sau enterprise care pot fi activate pe un număr mai mare de site-uri, există soluții pentru a face acest lucru să funcționeze. Cea mai simplă opțiune este să facturați clientul printr-o factură Stripe sau PayPal. Odată plătit, creați manual o comandă și actualizați limita de activare a licenței la numărul de activări pe care doriți ca clientul să le aibă disponibile.

Funcționează Licențierea Software cu Amazon S3?

Da, este complet compatibil, fără probleme și fără setări speciale.

Mediile locale / de dezvoltare afectează numărul de activări?

Dacă alegeți să limitați numărul de activări de licență pe care un client le poate avea, este totuși posibil să îi permiteți să activeze o licență pe mediul lor local de dezvoltare, fără a le afecta numărul de activări.

Acest lucru permite utilizatorilor dvs. să rămână la curent în mediile lor de testare și dezvoltare, fără a obține activări gratuite de licență.

Pentru ca acest lucru să funcționeze, trebuie să se întâmple două lucruri:

1) Ignoră URL-urile locale

În administratorul dvs. WordPress, sub
Downloads → Setări → Extensii → Licențiere Software căutați o căsuță de bifat care spune Ignoră URL-urile locale.  Asigurați-vă că este bifată.

2) Educați clienții

Consultați acest ghid despre cum să ignorați activările pentru site-urile de dezvoltare.

Cum creați formate personalizate de chei de licență?

Cheile de licență EDD sunt, în mod implicit, un sumă md5, cum ar fi aceasta:

e0c7ccc47b2613c82d1073a4214deecc

Dacă doriți altceva, cu Licențiere Software este la fel de ușor ca realizarea unei funcții pentru a crea chei unice consistente și conectarea la un filtru numit edd_sl_generate_license_key.

Formatele cheilor de licență pot fi, de fapt, orice doriți, atâta timp cât sunt unice și consistente. Dacă doriți chei în acest format:

username_timestamp_licensekey

sdavis2702_20151015120022_e0c7ccc47b2613c82d1073a4214deecc

Puteți folosi această funcție:

// Example shown how to base the MD5 off of the user's email and purchase date
function pw_edd_license_md5_user_and_date( $key, $license_id, $download_id, $payment_id, $cart_index ) {

    $name      = get_user_by( 'email', edd_get_payment_user_email( $payment_id ) );
    $date      = get_post_field( 'post_date', $payment_id );
    $timestamp = strtotime($date);
    $nice_date = date( 'Yndhis', $timestamp );
    $license   = md5( $license_id );
    $key       = $name->user_nicename . '_' . $nice_date . '_' . $license;

    return $key;
}
add_filter( 'edd_sl_generate_license_key', 'pw_edd_license_md5_user_and_date', 10, 5 );

O funcție mai simplă folosește doar numele de utilizator și cheia de licență:

// prepend user's username to license key
function sd_edd_license_username_md5( $key, $license_id, $download_id, $payment_id, $cart_index ) {
    $name      = get_user_by( 'email', edd_get_payment_user_email( $payment_id ) );
    $license   = md5( $license_id );
    $key       = $name->user_nicename . '_' . $license;

    return $key;
}
add_filter( 'edd_sl_generate_license_key', 'sd_edd_license_username_md5', 10, 5 );

Cel mai important lucru de reținut din acest document este că puteți folosi orice cod care produce șiruri unice consistente și puteți folosi acele șiruri ca chei de licență.

Afișarea unei liste de chei de licență ale clientului

Codul următor vă va permite să preluați și să afișați o listă de chei de licență pentru un client specific.

Notă: „$customer->id” ar trebui înlocuit cu ID-ul clientului real.

$licenses = edd_software_licensing()->licenses_db->get_licenses( array(
		'number'      => -1,
		'customer_id' => $customer->id,
		'orderby'     => 'id',
		'order'       => 'ASC',
	) );

Ce se întâmplă dacă domeniul magazinului meu nu funcționează?

Încurajăm utilizarea EDD Software Licensing SDK pentru a gestiona licențierea în pluginul sau tema dvs. WordPress. SDK-ul nu va trimite cereri API repetate către site-ul dvs. dacă nu primește un răspuns valid.

Dacă intenționați să schimbați domenii sau să închideți un nume de domeniu, ar fi cel mai bine să lansați o actualizare care utilizează noul domeniu sau elimină complet apelurile către API.

Probleme Comune

Personalizați codul exemplu

Codul exemplu care vine cu Software Licensing poate utiliza prefixe de funcții precum edd_ și edd_sl_. Acestea ar trebui modificate pentru a se potrivi propriului plugin și căutarea și înlocuirea este o modalitate excelentă de a face acest lucru, dar trebuie să fiți atent la șirul de căutare.

Există funcții cu prefixe precum edd_action_ care nu ar trebui modificate. Asigurați-vă că modificați doar prefixele propriilor nume de funcții și nu prefixele de bază EDD.

Depanarea problemelor de actualizare

Dacă întâmpinați erori atunci când încercați să actualizați pluginuri și teme din magazinul dvs. Software Licensing, iată câteva lucruri pe care le puteți verifica, în funcție de eroarea raportată.

Personalizați-vă actualizatorul

Dacă utilizați clasa de actualizare a pluginului moștenită, furnizată în versiunile anterioare ale Software Licensing, probabil că utilizați clasa EDD_SL_Plugin_Updater pentru a gestiona licențierea și verificările de actualizare. Există riscul unui „conflict” dacă un alt plugin include o versiune diferită a clasei EDD_SL_Plugin_Updater decât cea pe care o împachetați cu pluginul dvs. Puteți redenumi această clasă cu ceva unic pentru pluginul dvs., astfel încât să evite conflictele. De exemplu, dacă numele pluginului meu este „My Custom Ads”, aș putea redenumi EDD_SL_Plugin_Updater în MCA_Plugin_Updater și aș modifica toate referințele la acesta. Alternativ, utilizarea EDD Software Licensing SDK va simplifica foarte mult modul în care puteți gestiona actualizările pluginurilor/temelor.

Erori SSL

Există multe erori care pot fi cauzate de probleme de conectivitate SSL; cele de mai jos sunt văzute frecvent cu Software Licensing.

SSL: numele subiectului certificatului nu se potrivește

Această eroare înseamnă că certificatul SSL instalat pe site-ul dvs. nu se potrivește cu numele domeniului dvs. principal. Acest lucru se poate întâmpla de obicei în medii de găzduire partajată, iar soluția cea mai comună este solicitarea unei adrese IP dedicate de la furnizorul dvs. de găzduire. Dacă furnizorul dvs. de găzduire nu acceptă adrese IP dedicate, atunci va trebui să lucrați cu furnizorul dvs. de găzduire pentru a configura un lanț SSL corespunzător care să se potrivească cu domeniul dvs. principal, în loc de un certificat SSL wildcard partajat.

SSL23_GET_SERVER_HELLO:ssl v3 alert handshake failure

Această eroare de Handshake SSL apare atunci când versiunea OpenSSL de pe serverul site-ului care solicită actualizarea este depășită și nu suportă Protocoalele SSL pe care le necesită magazinul care livrează actualizarea. Există două modalități de a rezolva această problemă. Soluția ideală este ca site-ul care solicită actualizarea să verifice dacă software-ul OpenSSL este actualizat pentru platforma lor. OpenSSL este un software de server care facilitează comunicarea prin protocolul HTTPS. Dacă aceasta nu este o soluție posibilă, puteți colabora cu furnizorul dvs. de găzduire sau administratorul de server pentru a configura serverul web să accepte aceste versiuni SSL depășite, dar acest lucru nu este ideal, deoarece permite conexiuni mai puțin sigure la serverul dvs.

Eroare cURL 35: Eroare de conectare SSL

Această eroare specifică la livrarea actualizărilor de către Software Licensing este de obicei întâlnită atunci când se utilizează opțiunea SSL Flexibilă a Cloudflare. Această opțiune cauzează o problemă de lanț cu unele versiuni cURL existente pe serverul clientului care solicită actualizarea. Există câteva modalități de a remedia acest lucru de pe partea serverului (fără a fi necesar să solicitați clientului să își actualizeze versiunea cURL). Prima este să faceți upgrade la un SSL Cloudflare plătit. Certificatele SSL din nivelul plătit de la Cloudflare, de obicei, nu prezintă această problemă. Cealaltă soluție este să achiziționați un Certificat SSL de la o terță parte și să îl instalați direct pe serverul dvs.

Descărcare eșuată. SSL: niciun alt nume de subiect al certificatului nu corespunde numelui gazdei țintă
An error occurred while updating Resurrect: Download failed. SSL: certificate subject name '*.example.com' does not match target host name 'anotherexample.com'

Acest lucru se întâmplă atunci când site-ul clientului are o versiune veche de OpenSSL sau cURL. Cele două site-uri nu pot comunica securizat, iar actualizarea eșuează.

Singura soluție este ca site-ul cu versiunea mai veche de software pe serverul său să actualizeze la cele mai recente versiuni.

Descărcare eșuată. Certificatul SSL al partenerului sau cheia SSH la distanță nu a fost OK

Dacă clienții dvs. văd această eroare la actualizarea produselor, va trebui să contactați gazda dvs. web pentru a-i informa că certificatul dvs. SSL este configurat incorect:

Descărcare eșuată. Serviciu indisponibil

Veți vedea această eroare atunci când încercați să actualizați un plugin sau o temă pe un site care găzduiește, de asemenea, acest plugin sau temă. Datorită modului în care Software Licensing se integrează cu API-ul de actualizare WordPress, nu este posibil în prezent să vă actualizați propriile teme sau pluginuri de pe site-ul care le vinde. Când WordPress instalează o actualizare, pune temporar site-ul dvs. în modul de mentenanță, iar în timpul acestui proces site-ul dvs. nu își poate instala propria actualizare. Pentru a actualiza un plugin sau o temă de pe un site care o vinde, va trebui să instalați manual actualizarea.

Descărcare eșuată. Neautorizat / Prea multe redirecționări

Acest eroare apare la actualizarea pluginului sau temei la o nouă versiune. La încărcarea noii versiuni, dacă adăugați un fișier nou cu noua versiune și apoi ștergeți rândul fișierului anterior, în loc să înlocuiți versiunea curentă, este posibil să apară această eroare. În prezent suntem conștienți de acest bug și lucrăm la rezolvarea lui, însă soluția simplă pe moment este să faceți clic pe butonul „Actualizare” a 2-a oară, pentru a rescrie cheile fișierelor, sau să înlocuiți întotdeauna fișierul curent în loc să adăugați fișierele noi pe un al doilea rând de fișiere.

Pachet de actualizare indisponibil

Când apare această eroare, înseamnă de obicei:

  1. Există o problemă cu activarea licenței pe site-ul clientului. Există câteva lucruri de verificat dacă un client raportează această eroare. Primul este că domeniul pe care încearcă să-l actualizeze a fost activat pentru licență. Puteți determina acest lucru accesând Downloads → Licenses. Puteți apoi căuta cheia de licență pe care utilizatorul încearcă să o actualizeze și faceți clic pe „Manage Sites” pentru a vă asigura că domeniul pe care se află este în listă. Dacă nu este, îl puteți adăuga singur din administrator sau puteți solicita clientului să viziteze pagina de gestionare a licenței și să o activeze singur.
  2. Celălalt rezultat este că o licență este fie expirată, fie dezactivată. Dacă acesta este cazul, clientul trebuie fie să-și reînnoiască licența, fie un administrator de site a dezactivat-o manual.

Nume ciudat, lung al folderului după actualizare

Acest lucru se întâmplă atunci când fișierul .zip este creat incorect. La crearea arhivei .zip finale, este important să arhivați folderul *și* conținutul acestuia, mai degrabă decât doar conținutul folderului.

Structura fișierului zip ar trebui să arate cam așa:

nume_fisier.zip

– nume_produs/

— fișier aici

— alt fișier aici

Cu alte cuvinte, fișierele trebuie să fie într-un folder și nu în partea de sus a fișierului zip.  Reambalați fișierul pentru a include numele folderului în interior și acest lucru îl va remedia.

Integrare CloudFlare

Dacă utilizați CloudFlare ca CDN, strat de cache sau furnizor SSL, vă recomandăm să configurați CloudFlare pentru a ocoli cache-ul pentru toate URL-urile care conțin următorul șir:

/edd-sl

Acesta este endpoint-ul API pentru verificarea stării licenței și livrarea pachetelor de actualizare. Dacă aceste URL-uri de endpoint sunt cache-uite, acest lucru poate cauza probleme la livrarea corectă a actualizărilor către clienții dumneavoastră.

PCLZIP_ERR_BAD_FORMAT

Această eroare nu este unică pentru platforma EDD Software Licensing, dar are câteva soluții pe care le puteți verifica. Prima este că există suficient spațiu pe disc pentru ca fișierul să fie descărcat și despachetat (presupuneți că veți avea nevoie de 2x dimensiunea fișierului .zip pentru a procesa actualizarea). Dacă fișierul dvs. .zip are 1 MB, veți avea nevoie de puțin peste 2 MB disponibili pentru a procesa corect o actualizare. Aceste numere nu sunt exact 2x, dar este un bun punct de plecare.

Celălalt lucru de verificat este că fișierul .zip nu este corupt. Puteți testa acest lucru transferând fișierul .zip pe un alt computer (atașat într-un e-mail sau prin USB) și încercând să îl despachetați și acolo. Dacă nu se despachetează pe un alt computer, probabil există o problemă cu crearea fișierului .zip pe computerul original.

Această eroare poate fi cauzată și de un plugin sau un script care generează o eroare. Când API-ul de licențiere software încearcă să creeze pachetul zip, eroarea este adăugată în fișierul zip, stricând structura acestuia. În mod normal, acest lucru înseamnă că site-ul dvs. web are WP_DEBUG setat la TRUE în fișierul wp-config.php. Deși este o modalitate bună de a verifica orice erori, este cel mai bine să fie setat la FALSE pe un site web live. Alternativ, îl puteți păstra activat, dar înregistrați erorile într-un fișier de pe serverul dvs., în fișierul wp-contents/debug.log. Faceți acest lucru adăugând următoarele linii la fișierul wp-config.php:

define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_display', false );
A fost util acest articol?

Începeți să vindeți astăzi!

Alăturați-vă peste 50.000 de proprietari de magazine inteligente și începeți să folosiți cel mai ușor mod de a vinde produse digitale cu WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]