Inhoudsopgave
De EDD_Payment klasse maakt het eenvoudig om betalingsinformatie in Easy Digital Downloads te maken, bewerken en verwijderen. Hier zijn enkele voorbeelden:
Voorbeeld van het maken van een nieuwe betaling
$payment = new EDD_Payment(); $payment->add_download( 97 ); $payment->email = '[email protected]'; $payment->status = 'complete'; $payment->save();
Voorbeeld van het bijwerken van de e-mail van een bestaande betaling:
$payment = new EDD_Payment( 4023 ); $payment->email = '[email protected]'; $payment->save();
Beschikbare Eigenschappen
Dit zijn de eigenschappen die beschikbaar zijn voor uw object:
- $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
- $address
- $transaction_id
- $downloads
- $ip
- $gateway
- $currency
- $cart_details
- $has_unlimited_downloads
- $pending
- $parent_payment
Beschikbare Methoden
add_download( $download_id = 0, $args = array(), $options = array() )
Met deze methode kun je een download toevoegen aan een betaling. Het accepteert drie argumenten:
$download_id
Dit is de ID van de download die je wilt koppelen. Het is altijd een geheel getal.
$args
Dit is een array die deze ingebouwde standaardwaarden kan overschrijven:
'quantity' => 1,
'price_id' => false,
'item_price' => 0.00,
'tax' => 0.00,
'fees' => array()
Kosten kunnen alles zijn wat nodig is, maar volgen het formaat van
add_fee(). Voor meer informatie zie de documentatie voor EDD_Fees.
$options
Dit is een array die willekeurige opties voor de download kan accepteren. Voorbeelden kunnen zijn
is_renewal of is_upgrade voor de Software Licensing extensie.
BELANGRIJK: als je een download toevoegt aan een voltooide betaling, wordt de nieuwe download ingesteld op een prijs van nul. Als je een download toevoegt aan een betaling met een andere status, behoudt die download zijn standaard financiële waarde, en de totale waarde van de betaling neemt toe.
Dit standaardgedrag kan worden overschreven door een
item_price in de $args te sturen.
remove_download( $download_id, $args = array() )
Met deze methode kun je een download uit een betaling verwijderen. Het accepteert twee argumenten:
$download_id
Dit is de ID van de download die je wilt koppelen. Het is altijd een geheel getal.
$args
Dit is een array die deze ingebouwde standaardwaarden kan overschrijven:
'quantity' => 1,
'price_id' => false,
'item_price' => 0.00,
'cart_index' => false,
OPMERKING: als je download variabel is, is de price_id vereist zodat het juiste item wordt verwijderd.
OPMERKING: Standaard verwijdert remove_download() slechts één item. Als je meerdere van hetzelfde item hebt, moet je de quantity optie in de $args gebruiken.
get_meta( $meta_key = ‘_edd_payment_meta’, $single = true )
Met deze methode haal je de metagegevens op die bij een betaling horen. Het accepteert een meta-sleutel en een boolean om de metagegevens in enkele modus op te vragen of niet.
Intern voert deze methode get_post_meta uit, maar past dan enige logica toe om achterwaartse compatibiliteit met EDD 1.5 te bieden.
Vervolgens voert het apply_filters uit op
'edd_get_payment_meta_' . $meta_key en retourneert dan de uitvoer na nog een filter van edd_get_payment_meta.
update_meta( $meta_key = ”, $meta_value = ”, $prev_value = ” )
Met deze methode kun je de post meta voor een betaling bijwerken. Het accepteert een meta-sleutel, meta-waarde en een vorige meta-waarde ter vergelijking.
Voordat er wordt bijgewerkt, wordt de meta_key door een filter gestuurd genaamd
'edd_update_payment_meta_' . $meta_key.
Het retourresultaat is de uitvoer van
update_post_meta.
add_fee( $args = ”, $global = true )
Deze methode stelt u in staat om een willekeurig bedrag aan de betaling toe te voegen. Het functioneert precies zoals die in EDD_Fees, lees de documentatie daar.
remove_fee( $key )
Deze methode stelt u in staat om een bepaald bedrag te verwijderen. Het functioneert precies zoals die in EDD_Fees,
lees de documentatie daar.
remove_fee_by( $key, $value, $global = false )
Deze methode stelt u in staat om een bedrag te verwijderen zonder de positie ervan in de bedragen-array te hoeven kennen. Bijvoorbeeld, als u een bedrag heeft met het label verzendkosten, kunt u zoiets doen als
$payment->remove_fee_by( 'label', 'Shipping' );
De bovenstaande code zou het eerste exemplaar van een bedrag met het label Verzendkosten verwijderen. Als u de globale true-vlag toevoegt zoals hier:
$payment->remove_fee_by( 'label', 'Shipping', true );
dan worden ALLE bedragen met het label Verzendkosten verwijderd.
add_note( $note = false )
Deze methode stelt u in staat om een notitie aan de betaling toe te voegen. De resultaten zien er ongeveer zo uit:

update_status( $status = false )
Deze methode stelt u in staat om de status van een bepaalde betaling in te stellen. Hier zijn de mogelijke statussen:
- In behandeling
- Voltooid
- Terugbetaald
- Mislukt
- Verlaten
- Herroepen
array_convert()
Deze methode stelt u in staat om alle beschikbare eigenschappen als een array te verkrijgen. Voorbeeld:
$payment = new EDD_Payment( 4577 ); $payments_array = $payment->array_convert();
BELANGRIJK: eigenschappen die met array_convert naar een array zijn verplaatst, worden NIET binnen die array bijgewerkt. Als u een bijgewerkte versie nodig heeft na een wijziging, moet u deze methode opnieuw uitvoeren en uw array opnieuw vullen.
save()
Deze methode neemt alle wijzigingen of updates die door een andere methode zijn gemaakt en schrijft ze naar de database.
OPMERKING: als u save() niet gebruikt, zullen geen van uw wijzigingen daadwerkelijk plaatsvinden.
Voorbeelden
Hier zijn enkele codevoorbeelden van veelvoorkomende taken:
Een betaling aanmaken
$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
Een bestaande betaling bewerken
$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();
Een betalingsstatus wijzigen
$payment = new EDD_Payment( 1337 ); $payment->status = 'revoked'; $payment->save();
Een download met variabele prijs toevoegen
$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();
Een download met opties toevoegen
$payment = new EDD_Payment( 2008 );
$args = array(
'item_price' => 4.00,
);
$options = array(
'is_renewal' => true,
);
$payment->add_download( 28, $args, $options );
$payment->save();
Een download verwijderen
$payment = new EDD_Payment( 2008 ); $payment->remove_download( 23 ); $payment->save();
Een download met variabele prijzen verwijderen
$payment = new EDD_Payment( 2008 );
$args = array(
'price_id' => 1,
);
$payment->remove_download( 28, $args );
$payment->save();
