Anmelden
Loslegen

Easy Digital Downloads Dokumentation

Dokumentation, Referenzmaterialien und Tutorials für Easy Digital Downloads 

EDD_Payment

Die Klasse EDD_Payment erleichtert das Erstellen, Bearbeiten und Löschen von Zahlungsinformationen in Easy Digital Downloads. Hier sind einige Beispiele:

Beispiel für die Erstellung einer neuen Zahlung
$payment = new EDD_Payment();
$payment->add_download( 97 );
$payment->email = '[email protected]';
$payment->status = 'complete';
$payment->save();
Beispiel für die Aktualisierung der E-Mail einer bestehenden Zahlung:
$payment = new EDD_Payment( 4023 );
$payment->email = '[email protected]';
$payment->save();

Verfügbare Eigenschaften

Dies sind die Eigenschaften, die für Ihr Objekt verfügbar sind:

  • $ID
  • $number
  • $mode
  • $key
  • $total
  • $subtotal
  • $tax
  • $fees
  • $discounts
  • $date
  • $completed_date
  • $status
  • $old_status
  • $status_nicename
  • $customer_id
  • $user_id
  • $first_name
  • $last_name
  • $email
  • $address
  • $transaction_id
  • $downloads
  • $ip
  • $gateway
  • $currency
  • $cart_details
  • $has_unlimited_downloads
  • $pending
  • $parent_payment

Verfügbare Methoden

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

Diese Methode erlaubt es Ihnen, einen Download zu einer Zahlung hinzuzufügen. Sie akzeptiert drei Argumente:

$download_id

Dies ist die ID des Downloads, den Sie anhängen möchten. Es ist immer eine Ganzzahl.

$args

Dies ist ein Array, das diese integrierten Standardwerte überschreiben kann:

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

Gebühren können alles sein, was benötigt wird, folgen aber dem Format von
add_fee(). Weitere Informationen finden Sie in der Dokumentation für EDD_Fees.

$options

Dies ist ein Array, das beliebige Optionen für den Download akzeptieren kann. Beispiele könnten sein
is_renewal oder is_upgrade für die Software Licensing-Erweiterung.

WICHTIG: Wenn Sie einen Download zu einer abgeschlossenen Zahlung hinzufügen, wird der neue Download auf einen Preis von Null gesetzt. Wenn Sie einen Download zu einer Zahlung mit einem anderen Status hinzufügen, behält dieser Download seinen finanziellen Standardwert und der Gesamtwert der Zahlung erhöht sich.

Dieses Standardverhalten kann durch Senden eines
item_price in den $args überschrieben werden.

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

Diese Methode erlaubt es Ihnen, einen Download aus einer Zahlung zu entfernen. Sie akzeptiert zwei Argumente:

$download_id

Dies ist die ID des Downloads, den Sie anhängen möchten. Es ist immer eine Ganzzahl.

$args

Dies ist ein Array, das diese integrierten Standardwerte überschreiben kann:

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

HINWEIS: Wenn Ihr Download variabel ist, ist die price_id erforderlich, damit der richtige Artikel entfernt wird.

HINWEIS: Standardmäßig entfernt remove_download() nur einen Artikel. Wenn Sie mehrere desselben Artikels haben, müssen Sie die Mengenoption in den $args verwenden.

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

Diese Methode ruft die Metadaten ab, die mit einer Zahlung verbunden sind. Sie akzeptiert einen Metaschlüssel und einen booleschen Wert, um die Metadaten im Einzelmodus anzufordern oder nicht.

Intern führt diese Methode get_post_meta aus, wendet dann aber einige Logiken an, um die Abwärtskompatibilität mit EDD 1.5 zu gewährleisten.

Anschließend wird apply_filters auf
'edd_get_payment_meta_' . $meta_key ausgeführt und dann die Ausgabe nach einem weiteren Filter von edd_get_payment_meta zurückgegeben.

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

Diese Methode erlaubt es Ihnen, die Post-Metadaten für eine Zahlung zu aktualisieren. Sie akzeptiert einen Metaschlüssel, einen Metawert und einen vorherigen Metawert zum Vergleich.

Vor der Aktualisierung wird der Metaschlüssel durch einen Filter namens
'edd_update_payment_meta_' . $meta_key geleitet.

Der Rückgabewert ist die Ausgabe von
update_post_meta.

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

Diese Methode erlaubt es Ihnen, eine beliebige Gebühr an die Zahlung anzuhängen. Sie funktioniert genau wie die in EDD_Fees, bitte lesen Sie dort die Dokumentation.

remove_fee( $key )

Diese Methode erlaubt es Ihnen, eine bestimmte Gebühr zu entfernen. Sie funktioniert genau wie die in EDD_Fees,
bitte lesen Sie dort die Dokumentation.

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

Diese Methode erlaubt es Ihnen, eine Gebühr zu entfernen, ohne deren Position im Gebühren-Array kennen zu müssen. Zum Beispiel, wenn Sie eine Gebühr mit der Bezeichnung Versand haben, könnten Sie so etwas tun:

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

Der obige Code würde die erste Instanz einer Gebühr mit der Bezeichnung Versand entfernen. Wenn Sie das globale true-Flag wie folgt hinzufügen:

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

dann werden ALLE Gebühren mit der Bezeichnung Versand entfernt.

add_note( $note = false )

Diese Methode erlaubt es Ihnen, eine Notiz an die Zahlung anzuhängen. Die Ergebnisse werden ungefähr so aussehen:

update_status( $status = false )

Diese Methode erlaubt es Ihnen, den Status einer bestimmten Zahlung festzulegen. Hier sind die möglichen Status:

  • Ausstehend
  • Abgeschlossen
  • Zurückerstattet
  • Fehlgeschlagen
  • Abgebrochen
  • Widerrufen

array_convert()

Diese Methode erlaubt es Ihnen, alle verfügbaren Eigenschaften als Array zu erhalten. Beispiel:

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

WICHTIG: Eigenschaften, die mit array_convert in ein Array verschoben wurden, werden NICHT in diesem Array aktualisiert. Wenn Sie nach einer Änderung eine aktualisierte Version benötigen, müssten Sie diese Methode erneut ausführen und Ihr Array neu befüllen.

save()

Diese Methode nimmt alle Änderungen oder Aktualisierungen, die von einer anderen Methode vorgenommen wurden, und schreibt sie in die Datenbank.

HINWEIS: Wenn Sie save() nicht verwenden, werden keine Ihrer Änderungen tatsächlich wirksam.

Beispiele

Hier sind einige Codebeispiele für gängige Aufgaben:

Erstellen einer Zahlung

$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

Bearbeiten einer bestehenden Zahlung

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

Ändern des Zahlungsstatus

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

Hinzufügen eines Downloads mit variablen Preisen

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

Hinzufügen eines Downloads mit Optionen

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

Entfernen eines Downloads

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

Entfernen eines Downloads mit variablen Preisen

$payment = new EDD_Payment( 2008 );
$args = array(
    'price_id' => 1,
);
$payment->remove_download( 28, $args );
$payment->save();
War dieser Artikel hilfreich?

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]