Accedi
Inizia

Documentazione di Easy Digital Downloads

Documentazione, Materiali di Riferimento e Tutorial per Easy Digital Downloads 

EDD_Payment

La classe EDD_Payment semplifica la creazione, modifica ed eliminazione delle informazioni di pagamento in Easy Digital Downloads. Ecco alcuni esempi:

Esempio di creazione di un nuovo pagamento
$payment = new EDD_Payment();
$payment->add_download( 97 );
$payment->email = '[email protected]';
$payment->status = 'complete';
$payment->save();
Esempio di aggiornamento dell'email di un pagamento esistente:
$payment = new EDD_Payment( 4023 );
$payment->email = '[email protected]';
$payment->save();

Proprietà disponibili

Queste sono le proprietà disponibili per il tuo oggetto:

  • $ID
  • $numero
  • $modalità
  • $chiave
  • $totale
  • $subtotale
  • $tasse
  • $commissioni
  • $sconti
  • $data
  • $data_completamento
  • $stato
  • $stato_precedente
  • $stato_leggibile
  • $id_cliente
  • $id_utente
  • $nome
  • $cognome
  • $email
  • $indirizzo
  • $transaction_id
  • $download
  • $ip
  • $gateway
  • $valuta
  • $dettagli_carrello
  • $ha_download_illimitati
  • $in_attesa
  • $pagamento_genitore

Metodi disponibili

aggiungi_download( $download_id = 0, $args = array(), $options = array() )

Questo metodo ti permette di aggiungere un download a un pagamento. Accetta tre argomenti:

$download_id

Questo è l'ID del download che desideri allegare. È sempre un intero.

$args

Questo è un array che può sovrascrivere questi valori predefiniti:

            'quantity'    => 1,
            'price_id'    => false,
            'item_price'  => 0.00,
            'tax'         => 0.00,
            'fees'        => array()

Le commissioni possono essere qualsiasi cosa richiesta, ma seguono il formato di
add_fee(). Per maggiori informazioni vedi la documentazione per EDD_Fees.

$options

Questo è un array che può accettare opzioni arbitrarie per il download. Esempi potrebbero essere
is_renewal o is_upgrade per l'estensione Software Licensing.

IMPORTANTE: se aggiungi un download a un pagamento Completato, il nuovo download avrà un prezzo pari a zero. Se aggiungi un download a un pagamento con qualsiasi altro stato, quel download mantiene il suo valore finanziario predefinito e il valore totale del pagamento aumenta.

Questo comportamento predefinito può essere sovrascritto inviando un
item_price negli $args.

rimuovi_download( $download_id, $args = array() )

Questo metodo ti permette di rimuovere un download da un pagamento. Accetta due argomenti:

$download_id

Questo è l'ID del download che desideri allegare. È sempre un intero.

$args

Questo è un array che può sovrascrivere questi valori predefiniti:

            'quantity'    => 1,
            'price_id'    => false,
            'item_price'  => 0.00,
            'cart_index'  => false,

NOTA: se il tuo download è variabile, allora il price_id è richiesto in modo che l'articolo corretto venga rimosso.

NOTA: Per impostazione predefinita remove_download() rimuove solo un articolo. Se hai più articoli dello stesso tipo, dovrai usare l'opzione quantity negli $args.

get_meta( $meta_key = ‘_edd_payment_meta’, $single = true )

Questo metodo recupera i metadati associati a un pagamento. Accetta una chiave di metadato e un booleano per richiedere i metadati in modalità singola o meno.

Internamente questo metodo esegue get_post_meta, ma poi applica una logica per fornire compatibilità retroattiva con EDD 1.5

Esegue quindi apply_filters su
'edd_get_payment_meta_' . $meta_key e quindi restituisce l'output dopo un ulteriore filtro di edd_get_payment_meta

update_meta( $meta_key = ”, $meta_value = ”, $prev_value = ” )

Questo metodo ti permette di aggiornare il post meta per un pagamento. Accetta una chiave di metadato, un valore di metadato e un valore di metadato precedente per confronto.

Prima dell'aggiornamento, la meta_key viene elaborata tramite un filtro chiamato
'edd_update_payment_meta_' . $meta_key.

Il valore restituito è l'output di
update_post_meta.

add_fee( $args = ”, $global = true )

Questo metodo ti permette di allegare una commissione arbitraria al pagamento. Funziona esattamente come quella in EDD_Fees, leggi la documentazione lì.

remove_fee( $key )

Questo metodo ti permette di rimuovere una determinata commissione. Funziona esattamente come quello in EDD_Fees,
leggi la documentazione lì.

remove_fee_by( $key, $value, $global = false )

Questo metodo ti permette di rimuovere una commissione senza doverne conoscere la posizione nell'array delle commissioni. Ad esempio, se hai una commissione con l'etichetta spedizione potresti fare qualcosa come

$payment->remove_fee_by( 'label', 'Shipping' );

Il codice sopra rimuoverebbe la prima istanza di una commissione con l'etichetta Spedizione. Se aggiungi il flag globale true in questo modo:

$payment->remove_fee_by( 'label', 'Shipping', true );

allora rimuoverà TUTTE le commissioni con l'etichetta Spedizione.

add_note( $note = false )

Questo metodo ti permette di allegare una nota al pagamento. I risultati saranno simili a questo:

update_status( $status = false )

Questo metodo ti permette di impostare lo stato di un dato pagamento. Ecco gli stati possibili:

  • In attesa
  • Completato
  • Rimborsato
  • Fallito
  • Abbandonato
  • Revocato

array_convert()

Questo metodo ti permette di ottenere tutte le proprietà disponibili come array. Esempio:

$payment = new EDD_Payment( 4577 );
$payments_array = $payment->array_convert();

IMPORTANTE: le proprietà che sono state spostate in un array con array_convert NON verranno aggiornate all'interno di quell'array. Se hai bisogno di una versione aggiornata dopo una modifica, dovrai rieseguire questo metodo e ripopolare il tuo array.

save()

Questo metodo prende qualsiasi modifica o aggiornamento apportato da qualsiasi altro metodo e li scrive nel database.

NOTA: se non usi save() allora nessuna delle tue modifiche avrà effetto.

Esempi

Ecco alcuni esempi di codice per alcune attività comuni:

Creazione di un pagamento

$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

Modifica di un pagamento esistente

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

Modifica dello stato di un pagamento

$payment = new EDD_Payment( 1337 );
$payment->status = 'revoked';
$payment->save();

Aggiunta di un download a prezzo variabile

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

Aggiunta di un download con opzioni

$payment = new EDD_Payment( 2008 );
$args = array(
    'item_price' => 4.00,
);
$options = array(
    'is_renewal' => true,
);
$payment->add_download( 28, $args, $options );
$payment->save();

Rimozione di un download

$payment = new EDD_Payment( 2008 );
$payment->remove_download( 23 );
$payment->save();

Rimozione di un download con prezzi variabili

$payment = new EDD_Payment( 2008 );
$args = array(
    'price_id' => 1,
);
$payment->remove_download( 28, $args );
$payment->save();
Questo articolo è stato utile?

Inizia a vendere oggi!

Unisciti a oltre 50.000 proprietari di negozi intelligenti e inizia a usare il modo più semplice per vendere prodotti digitali con WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]