Clasa EDD_Payment facilitează crearea, editarea și ștergerea informațiilor despre plăți în Easy Digital Downloads. Iată câteva exemple:
Exemplu de creare a unei noi plăți
$payment = new EDD_Payment(); $payment->add_download( 97 ); $payment->email = '[email protected]'; $payment->status = 'complete'; $payment->save();
Exemplu de actualizare a e-mailului unei plăți existente:
$payment = new EDD_Payment( 4023 ); $payment->email = '[email protected]'; $payment->save();
Proprietăți disponibile
Acestea sunt proprietățile disponibile pentru obiectul dvs.:
- $ID
- $numar
- $mod
- $cheie
- $total
- $subtotal
- $taxa
- $comisioane
- $reduceri
- $data
- $data_finalizarii
- $status
- $status_anterior
- $nume_status
- $id_client
- $id_utilizator
- $prenume
- $nume
- $adresa
- $id_tranzactie
- $descarcari
- $ip
- $gateway
- $currency
- $cart_details
- $has_unlimited_downloads
- $pending
- $parent_payment
Metode disponibile
add_download( $download_id = 0, $args = array(), $options = array() )
Această metodă vă permite să adăugați un produs descărcabil la o plată. Acceptă trei argumente:
$download_id
Acesta este ID-ul produsului descărcabil pe care doriți să îl atașați. Este întotdeauna un număr întreg.
$args
Acesta este un array care poate suprascrie valorile implicite încorporate:
'quantity' => 1,
'price_id' => false,
'item_price' => 0.00,
'tax' => 0.00,
'fees' => array()
Taxele pot fi orice este necesar, dar urmează formatul de
add_fee(). Pentru mai multe informații, consultați documentația pentru EDD_Fees.
$options
Acesta este un array care poate accepta opțiuni arbitrare pentru produsul descărcabil. Exemplele pot include
is_renewal sau is_upgrade pentru extensia Software Licensing.
IMPORTANT: dacă adăugați un produs descărcabil la o plată Finalizată, noul produs descărcabil va fi setat la un preț zero. Dacă adăugați un produs descărcabil la o plată cu orice alt statut, acel produs descărcabil își păstrează valoarea financiară implicită, iar valoarea totală a plății crește.
Acest comportament implicit poate fi suprascris prin trimiterea unui
item_price în $args.
remove_download( $download_id, $args = array() )
Această metodă vă permite să eliminați un produs descărcabil dintr-o plată. Acceptă două argumente:
$download_id
Acesta este ID-ul produsului descărcabil pe care doriți să îl atașați. Este întotdeauna un număr întreg.
$args
Acesta este un array care poate suprascrie valorile implicite încorporate:
'quantity' => 1,
'price_id' => false,
'item_price' => 0.00,
'cart_index' => false,
NOTĂ: dacă produsul dvs. descărcabil este variabil, atunci price_id este necesar pentru ca elementul corect să fie eliminat.
NOTĂ: implicit, remove_download() elimină doar un singur articol. Dacă aveți mai multe articole identice, va trebui să utilizați opțiunea quantity din $args.
get_meta( $meta_key = ‘_edd_payment_meta’, $single = true )
Această metodă preia metadatele asociate cu o plată. Acceptă o cheie meta și un boolean pentru a solicita metadatele în modul unic sau nu.
Intern, această metodă rulează get_post_meta, dar apoi aplică o logică pentru a oferi compatibilitate inversă cu EDD 1.5
Apoi rulează apply_filters pe
'edd_get_payment_meta_' . $meta_key și apoi returnează ieșirea după un alt filtru de edd_get_payment_meta
update_meta( $meta_key = ”, $meta_value = ”, $prev_value = ” )
Această metodă vă permite să actualizați metadatele postului pentru o plată. Acceptă o cheie meta, o valoare meta și o valoare meta anterioară pentru comparație.
Înainte de actualizare, cheia meta este trecută printr-un filtru numit
'edd_update_payment_meta_' . $meta_key.
Valoarea returnată este ieșirea din
update_post_meta.
add_fee( $args = ”, $global = true )
Această metodă vă permite să atașați o taxă arbitrară la plată. Funcționează exact ca cea din EDD_Fees, vă rugăm să citiți documentația de acolo.
remove_fee( $key )
Această metodă vă permite să eliminați o anumită taxă. Funcționează exact ca cea din EDD_Fees,
vă rugăm să citiți documentația de acolo.
remove_fee_by( $key, $value, $global = false )
Această metodă vă permite să eliminați o taxă fără a fi nevoie să îi cunoașteți poziția în matricea taxelor. De exemplu, dacă aveți o taxă cu eticheta de expediere, ați putea face ceva de genul
$payment->remove_fee_by( 'label', 'Shipping' );
Codul de mai sus ar elimina prima instanță a unei taxe cu eticheta Expediere. Dacă adăugați flag-ul global true, astfel:
$payment->remove_fee_by( 'label', 'Shipping', true );
atunci va elimina TOATE taxele cu eticheta Expediere.
add_note( $note = false )
Această metodă vă permite să atașați o notă la plată. Rezultatele vor arăta cam așa:

update_status( $status = false )
Această metodă vă permite să setați starea unei anumite plăți. Iată stările posibile:
- În așteptare
- Complet
- Rambursat
- Eșuat
- Abandonat
- Revocat
array_convert()
Această metodă vă permite să obțineți toate proprietățile disponibile ca o matrice. Exemplu:
$payment = new EDD_Payment( 4577 ); $payments_array = $payment->array_convert();
IMPORTANT: proprietățile care au fost mutate într-o matrice cu array_convert NU vor fi actualizate în acea matrice. Dacă aveți nevoie de o versiune actualizată după o modificare, va trebui să re-rulați această metodă și să vă re-populați matricea.
save()
Această metodă preia orice modificări sau actualizări făcute de orice altă metodă și le scrie în baza de date.
NOTĂ: dacă nu folosiți save(), niciuna dintre modificările dvs. nu va avea loc.
Exemple
Iată câteva exemple de cod pentru sarcini comune:
Crearea unei plăți
$payment = new EDD_Payment(); // Instantiates a payment object $payment->add_download( 12 ); // Adds download id 12 to the payment at it's default price $payment->email = '[email protected]'; // Email is required for a payment $payment->status = 'complete'; // Completes the payment $payment->save(); // Writes to the database any changes that were made
Editarea unei plăți existente
$payment = new EDD_Payment( 42 ); // Loads the information for Payment ID 42 $payment->email = '[email protected]'; // Changes the email address on the payment $payment->save();
Schimbarea stării unei plăți
$payment = new EDD_Payment( 1337 ); $payment->status = 'revoked'; $payment->save();
Adăugarea unui produs descărcabil cu preț variabil
$payment = new EDD_Payment( 1942 );
$args = array(
'price_id' => 1, // Variable price ID
'item_price' => 0.00, // Makes the item free
);
$payment->add_download( 23, $args ); // Adds Download ID 23, variable price 1 to the payment
$payment->save();
Adăugarea unui produs descărcabil cu opțiuni
$payment = new EDD_Payment( 2008 );
$args = array(
'item_price' => 4.00,
);
$options = array(
'is_renewal' => true,
);
$payment->add_download( 28, $args, $options );
$payment->save();
Eliminarea unui produs descărcabil
$payment = new EDD_Payment( 2008 ); $payment->remove_download( 23 ); $payment->save();
Eliminarea unui produs descărcabil cu prețuri variabile
$payment = new EDD_Payment( 2008 );
$args = array(
'price_id' => 1,
);
$payment->remove_download( 28, $args );
$payment->save();
