Inhoudsopgave
Terugkerende betalingen wordt geleverd met een nieuwe EDD-klasse voor het beheren van abonnees. De klasse EDD_Recurring_Subscriber stelt u in staat om te interageren met abonnementsklanten en de abonnementen op hun accounts.
Objecten maken
EDD_Recurring_Subscriber moet worden aangeroepen met een identificatie van een EDD-klant of WordPress-gebruiker op de site. Dit kan een e-mailadres zijn, een WordPress-gebruikers-ID of een EDD-klant-ID. Hier zijn enkele voorbeelden:
$subscriber = new EDD_Recurring_Subscriber( '[email protected]' );
Als u een geheel getal doorgeeft, zoekt het naar een EDD-klant met die customer_id.
$subscriber = new EDD_Recurring_Subscriber( 3 );
Als u een geheel getal doorgeeft met een tweede argument van true, zoekt het naar een WordPress-gebruiker met die user_id.
$subscriber = new EDD_Recurring_Subscriber( 3, true );
Elk van de bovenstaande zal een object retourneren dat er als volgt uitziet:
EDD_Recurring_Subscriber Object
(
[subs_db:EDD_Recurring_Subscriber:private] => EDD_Subscriptions_DB Object
(
[table_name] => wp_edd_subscriptions
[version] => 1.4.1.3
[primary_key] => id
)
[id] => 11111
[purchase_count] => 19
[purchase_value] => 2173.3
[email] => [email protected]
[emails] => Array
(
[0] => [email protected]
)
[name] => Bob Smith
[date_created] => 2015-06-15 16:38:08
[payment_ids] =>
[user_id] => 1nan1
[notes:protected] =>
[raw_notes:EDD_Customer:private] =>
[db:protected] => EDD_DB_Customers Object
(
[meta_type] => customer
[date_key] => date_created
[cache_group] => customers
[table_name] => wp_edd_customers
[version] => 1.0
[primary_key] => id
)
)
Beschikbare Methoden
Elke onderstaande methode gaat ervan uit dat u een object hebt dat is gekoppeld aan een specifieke klant, en zal die klant aanduiden als “de klant”.
Voorwaardelijke methoden
$subscriber->has_active_subscription()
Deze methode controleert of de klant een abonnement heeft dat actief of geannuleerd is, maar niet verlopen.
Retourneert boolean, gefilterd op deze manier:
apply_filters( 'edd_recurring_has_active_subscription', $ret, $this );
$subscriber->has_product_subscription( $product_id = 0 )
Deze methode controleert of de klant een soort abonnement heeft op een specifieke EDD-product-ID.
Accepteert een geheel getal dat een EDD-product-ID is.
Retourneert boolean gefilterd op deze manier:
return apply_filters( 'edd_recurring_has_product_subscription', $ret, $product_id, $this );
$subscriber->has_active_product_subscription( $product_id = 0 )
Deze methode controleert of de klant een actief abonnement heeft op een specifieke EDD-product-ID.
Accepteert een geheel getal dat een EDD-product-ID is.
Retourneert boolean gefilterd op deze manier:
return apply_filters( 'edd_recurring_has_active_product_subscription', $ret, $product_id, $this );
Abonnee-informatie ophalen
$subscriber->get_subscription_by_profile_id( $profile_id = ” )
Deze methode accepteert een betalingsprofiel-ID en retourneert een EDD_Subscription-object met alle informatie over dat abonnement.
Accepteert een betalingsgateway profiel-ID. U kunt profiel-ID's voor specifieke abonnementen vinden op de detailpagina van een specifiek abonnement onder Downloads → Abonnementen. 
Retourneert een EDD_Subscription-object. Een voorbeeld is te vinden in de EDD_Subscription-documentatie.
$subscriber->get_subscription( $subscription_id = 0 )
Deze methode accepteert een abonnement en retourneert een EDD_Subscription-object met alle informatie over dat abonnement, vergelijkbaar met $subscriber->get_subscription_by_profile_id().
$subscriber->get_subscriptions( $product_id = 0, $statuses = array() )
Deze methode haalt alle abonnementen voor de klant op die voldoen aan de invoervereisten. Het accepteert twee argumenten, de eerste is een product_id en de tweede is een array van statussen. Hier zijn enkele voorbeelden:
// gets all subscriptions for the customer $subscriber->get_subscriptions();
// gets all subscriptions for the customer for product ID 85 $subscriber->get_subscriptions( 85 );
// gets all active subscriptions for the customer for product ID 85 $subscriber->get_subscriptions( 85, array( 'active' ) );
// gets all active subscriptions for the customer, regardless of product $subscriber->get_subscriptions( '', array( 'active' ) );
// gets all active and cancelled subscriptions for the customer, regardless of product $subscriber->get_subscriptions( '', array( 'active', cancelled' ) );
$subscriber->get_new_expiration( $download_id = 0, $price_id = null )
Deze methode bepaalt de vervaldatum van een abonnement één periode na de huidige vervaldatum. Als de vervaldatum bijvoorbeeld 2017-01-01 23:59:59 was en de periode één maand was, zou deze methode 2017-02-01 23:59:59 retourneren.
Accepteert een integer voor download_id als eerste vereist argument.
Accepteert een integer voor price_id in het geval van variabele prijzen, optioneel
Retourneert een datum geformatteerd als Y-m-d H:i:s.
$subscriber->get_recurring_customer_ids()
Deze methode retourneert een array met alle klant-ID's die door betalingsgateways voor de klant zijn aangemaakt. Een voorbeeld zou zijn
Array
(
[stripe] => cus_85YmUU1QuH5yxY
)
Output wordt op deze manier gefilterd:
apply_filters( 'edd_recurring_customer_ids', $ids, $this );
$subscriber->get_recurring_customer_id( $gateway = false )
Deze methode accepteert een gateway-naam en retourneert een string met de klant-ID die aan de klant en die gateway is gekoppeld.
Accepteert een string met een gateway-naam zoals stripe.
Retourneert een string met een klant-ID zoals cus_85YmUU1QuH5yxY
Output wordt op deze manier gefilterd:
apply_filters( 'edd_recurring_get_customer_id', $customer_id, $this );
Abonnee-opties instellen
$subscriber->set_as_subscriber()
Deze methode neemt de klant en maakt een EDD-klant aan met hun informatie.
$subscriber->set_recurring_customer_id( $recurring_id = ”, $gateway = false )
Deze methode accepteert een terugkerende ID van een betalingsgateway en een naam van een betalingsgateway en koppelt deze aan de klant.
Accepteert een string met een terugkerende ID van een betalingsgateway zoals
cus_85YmUU1QuH5yxY. Vereist.
stripe. VereistAbonnementen beheren
$subscriber->add_subscription( $args = array() )
Deze methode voegt een abonnement toe aan een EDD-klant. Als er geen customer_id is opgenomen, wordt deze aangemaakt vanuit de WordPress-klant.
Deze methode gebruikt EDD_Subscription::create() en heeft daarom alle dezelfde vereisten. Volledige documentatie voor EDD_Subscription::create().
Accepteert een array met gegevens die vereist zijn door EDD_Subscription::create().
Retourneert een abonnementsobject.
$subscriber->add_payment( $args = array() )
Deze methode voegt een betalingsrecord toe aan een specifiek abonnement voor de klant. Het accepteert een array zoals deze:
$args = array(
'subscription_id' => 0,
'amount' => '0.00',
'transaction_id' => '',
);
De subscription_id array-sleutel mag niet leeg zijn en moet een integer zijn.
Deze methode gebruikt EDD_Subscription::add_payment() en heeft daarom alle dezelfde vereisten. Volledige documentatie voor EDD_Subscription::add_payment().
Retourneert true.
