Autentificare
Începe

Documentație Easy Digital Downloads

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

EDD_Payment

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
  • $email
  • $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();
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]