Accedi
Inizia

Documentazione di Easy Digital Downloads

Documentazione, Materiali di Riferimento e Tutorial per Easy Digital Downloads 

Pagamenti Ricorrenti – Sviluppatore: EDD_Recurring_Subscriber

Pagamenti Ricorrenti è dotato di una nuova classe EDD per la gestione degli abbonati. La classe EDD_Recurring_Subscriber ti consente di interagire con i clienti in abbonamento e gli abbonamenti sui loro account.

Creazione di Oggetti

EDD_Recurring_Subscriber dovrebbe essere chiamato con un identificatore per un cliente EDD o un utente WordPress sul sito. Questo potrebbe essere un indirizzo email, un ID utente WordPress o un ID cliente EDD. Ecco alcuni esempi:

$subscriber = new EDD_Recurring_Subscriber( '[email protected]' );

Se passi un intero, cercherà un cliente EDD con quel customer_id.

$subscriber = new EDD_Recurring_Subscriber( 3 );

Se passi un intero con un secondo argomento true, cercherà un utente WordPress con quell'user_id.

$subscriber = new EDD_Recurring_Subscriber( 3, true );

Qualsiasi delle opzioni sopra restituirà un oggetto che assomiglia a questo:

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
        )
)

Metodi disponibili

Ciascuno dei metodi seguenti presuppone che tu abbia un oggetto associato a un cliente specifico e si riferirà a quel cliente come “il cliente”.

Metodi Condizionali

$subscriber->has_active_subscription()

Questo metodo verifica se il cliente ha un abbonamento attivo o cancellato, ma non scaduto.

Restituisce un booleano, filtrato in questo modo:

apply_filters( 'edd_recurring_has_active_subscription', $ret, $this );
$subscriber->has_product_subscription( $product_id = 0 )

Questo metodo verifica se il cliente ha un qualsiasi tipo di abbonamento su un ID prodotto EDD specifico.

Accetta un intero che è un ID prodotto EDD.

Restituisce un booleano filtrato in questo modo:

return apply_filters( 'edd_recurring_has_product_subscription', $ret, $product_id, $this );
$subscriber->has_active_product_subscription( $product_id = 0 )

Questo metodo verifica se il cliente ha un abbonamento attivo su un ID prodotto EDD specifico.

Accetta un intero che è un ID prodotto EDD.

Restituisce un booleano filtrato in questo modo:

return apply_filters( 'edd_recurring_has_active_product_subscription', $ret, $product_id, $this );

Ottenere Informazioni sull'Abbonato

$subscriber->get_subscription_by_profile_id( $profile_id = ” )

Questo metodo accetta un ID profilo di pagamento e restituisce un oggetto EDD_Subscription con tutte le informazioni relative a quell'abbonamento.

Accetta un ID profilo del gateway di pagamento. Puoi trovare gli ID profilo per abbonamenti specifici nella pagina dei dettagli di un abbonamento specifico sotto Download → Abbonamenti.

Restituisce un oggetto EDD_Subscription. Un esempio può essere trovato nella documentazione di EDD_Subscription.

$subscriber->get_subscription( $subscription_id = 0 )

Questo metodo accetta un ID abbonamento e restituisce un oggetto EDD_Subscription con tutte le informazioni relative a quell'abbonamento, simile a $subscriber->get_subscription_by_profile_id().

$subscriber->get_subscriptions( $product_id = 0, $statuses = array() )

Questo metodo recupererà tutti gli abbonamenti per il cliente che soddisfano i requisiti di input. Accetta due argomenti, il primo è un product_id e il secondo è un array di stati. Ecco alcuni esempi:

// 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 )

Questo metodo determina la data di scadenza di un abbonamento un periodo oltre la data di scadenza corrente. Ad esempio, se la data di scadenza fosse 2017-01-01 23:59:59 e il periodo fosse un mese, questo metodo restituirebbe 2017-02-01 23:59:59.

Accetta un intero per download_id come primo argomento richiesto.

Accetta un intero per price_id nel caso di prezzi variabili, opzionale

Restituisce una data formattata come Y-m-d H:i:s.

$subscriber->get_recurring_customer_ids()

Questo metodo restituisce un array contenente tutti gli ID cliente creati dai gateway di pagamento per il cliente. Un esempio sarebbe

Array
(
    [stripe] => cus_85YmUU1QuH5yxY
)

L'output viene filtrato in questo modo:

apply_filters( 'edd_recurring_customer_ids', $ids, $this );
$subscriber->get_recurring_customer_id( $gateway = false )

Questo metodo accetta un nome di gateway e restituisce una stringa contenente l'ID cliente associato al cliente e a quel gateway.

Accetta una stringa contenente un nome di gateway come stripe.

Restituisce una stringa contenente un ID cliente come cus_85YmUU1QuH5yxY

L'output viene filtrato in questo modo:

apply_filters( 'edd_recurring_get_customer_id', $customer_id, $this );

Impostare Opzioni dell'Abbonato

$subscriber->set_as_subscriber()

Questo metodo prende il cliente e crea un Cliente EDD con le sue informazioni.

$subscriber->set_recurring_customer_id( $recurring_id = ”, $gateway = false )

Questo metodo accetta un ID ricorrente del gateway di pagamento e un nome di gateway e li associa al cliente.

Accetta una stringa contenente un ID ricorrente del gateway di pagamento come cus_85YmUU1QuH5yxY. Richiesto.

Accetta una stringa contenente un nome di gateway come
stripe. Richiesto

Gestione degli abbonamenti

$subscriber->add_subscription( $args = array() )

Questo metodo aggiunge un abbonamento a un cliente EDD. Se non è incluso alcun customer_id, ne crea uno dal cliente WordPress.

Questo metodo utilizza EDD_Subscription::create() e, pertanto, ha tutti gli stessi requisiti. Documentazione completa per EDD_Subscription::create().

Accetta un array di dati richiesti da EDD_Subscription::create().

Restituisce un oggetto abbonamento.

$subscriber->add_payment( $args = array() )

Questo metodo aggiunge un record di pagamento a un abbonamento specifico per il cliente. Accetta un array come questo:

$args = array(
    'subscription_id' => 0,
    'amount'          => '0.00', 
    'transaction_id'  => '',  
);

La chiave dell'array subscription_id non deve essere vuota e dovrebbe essere un intero.

Questo metodo utilizza EDD_Subscription::add_payment() e, pertanto, ha tutti gli stessi requisiti. Documentazione completa per EDD_Subscription::add_payment().

Restituisce true.

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]