<html lang="it-it" dir="ltr"><head></head><body># Pagamenti Ricorrenti - Sviluppatore: EDD_Recurring_Subscriber

##### Indice dei contenuti

- [Creazione Oggetti](#create)
- [Metodi Disponibili](#methods)
- [Metodi Condizionali](#conditionalmethods)
- [Ottenere Informazioni sul Sottoscrittore](#getsubscriber)
- [Impostare Opzioni del Sottoscrittore](#subscriberoptions)
- [Gestione Abbonamenti](#managesubscriptions)



[Pagamenti Ricorrenti](https://easydigitaldownloads.com/downloads/recurring-payments/) include una nuova classe EDD per la gestione dei sottoscrittori. La classe EDD\_Recurring\_Subscriber ti consente di interagire con i clienti in abbonamento e gli abbonamenti sui loro account. ### Creazione 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( 'user@example.com' );
```

Se passi un intero, cercherà un cliente EDD con quell'ID cliente. ```
$subscriber = new EDD_Recurring_Subscriber( 3 );
```

Se passi un intero con un secondo argomento true, cercherà un utente WordPress con quell'ID utente. ```
$subscriber = new EDD_Recurring_Subscriber( 3, true );
```

Qualsiasi delle opzioni sopra restituirà un oggetto simile a questo: ```
EDD_Recurring_Subscriber Object
(
    [subs_db:EDD_Recurring_Subscriber:private] =&gt; EDD_Subscriptions_DB Object
        (
            [table_name] =&gt; wp_edd_subscriptions
            [version] =&gt; 1.4.1.3
            [primary_key] =&gt; id
        )

    [id] =&gt; 11111
    [purchase_count] =&gt; 19
    [purchase_value] =&gt; 2173.3
    [email] =&gt; user@example.com
    [emails] =&gt; Array
        (
            [0] =&gt; user@example.com
        )

    [name] =&gt; Bob Smith
    [date_created] =&gt; 2015-06-15 16:38:08
    [payment_ids] =&gt; 
    [user_id] =&gt; 1nan1
    [notes:protected] =&gt; 
    [raw_notes:EDD_Customer:private] =&gt; 
    [db:protected] =&gt; EDD_DB_Customers Object
        (
            [meta_type] =&gt; customer
            [date_key] =&gt; date_created
            [cache_group] =&gt; customers
            [table_name] =&gt; wp_edd_customers
            [version] =&gt; 1.0
            [primary_key] =&gt; 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-&gt;has\_active\_subscription()

Questo metodo verifica se il cliente ha un abbonamento attivo o annullato, ma non scaduto. Restituisce un booleano, filtrato in questo modo: ```
apply_filters( 'edd_recurring_has_active_subscription', $ret, $this );
```

##### $subscriber-&gt;has\_product\_subscription( $product\_id = 0 )

Questo metodo verifica se il cliente ha un qualsiasi tipo di abbonamento per 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-&gt;has\_active\_product\_subscription( $product\_id = 0 )

Questo metodo verifica se il cliente ha un abbonamento attivo per 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 sul Sottoscrittore

##### $subscriber-&gt;get\_subscription\_by\_profile\_id( $profile\_id = '' )

Questo metodo accetta un ID profilo di pagamento e restituisce un oggetto [EDD\_Subscription](https://easydigitaldownloads.com/docs/recurring-payments-developer-edd_subscription/) con tutte le informazioni su 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**. ![](https://easydigitaldownloads.com/wp-content/uploads/2022/07/6184ce0689b8b.png)Restituisce un oggetto EDD\_Subscription. [Un esempio si trova nella documentazione di EDD\_Subscription](https://easydigitaldownloads.com/docs/recurring-payments-developer-edd_subscription/). ##### $subscriber-&gt;get\_subscription( $subscription\_id = 0 )

Questo metodo accetta un ID abbonamento e restituisce un oggetto [EDD\_Subscription](https://easydigitaldownloads.com/docs/recurring-payments-developer-edd_subscription/) con tutte le informazioni su quell'abbonamento, simile a $subscriber-&gt;get\_subscription\_by\_profile\_id() ##### $subscriber-&gt;get\_subscriptions( $product\_id = 0, $statuses = array() )

Questo metodo otterrà tutti gli abbonamenti per il cliente che soddisfano i requisiti di input. Accetta due argomenti, il primo è un ID prodotto e il secondo è un array di stati. Ecco alcuni esempi: ```
// ottiene tutti gli abbonamenti per il cliente
$subscriber-&gt;get_subscriptions();
```

```
// ottiene tutti gli abbonamenti per il cliente per l'ID prodotto 85
$subscriber-&gt;get_subscriptions( 85 );
```

```
// ottiene tutti gli abbonamenti attivi per il cliente per l'ID prodotto 85
$subscriber-&gt;get_subscriptions( 85, array( 'active' ) );
```

```
// ottiene tutti gli abbonamenti attivi per il cliente, indipendentemente dal prodotto
$subscriber-&gt;get_subscriptions( '', array( 'active' ) );
```

```
// ottiene tutti gli abbonamenti attivi e annullati per il cliente, indipendentemente dal prodotto
$subscriber-&gt;get_subscriptions( '', array( 'active', 'cancelled' ) );
```

##### $subscriber-&gt;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 l'ID download come primo argomento richiesto. Accetta un intero per l'ID prezzo nel caso di prezzi variabili, opzionale Restituisce una data formattata come [Y-m-d H:i:s](https://www.php.net/manual/en/function.date.php). ##### $subscriber-&gt;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] =&gt; cus_85YmUU1QuH5yxY
)
```

L'output viene filtrato in questo modo: ```
apply_filters( 'edd_recurring_customer_ids', $ids, $this );
```

##### $subscriber-&gt;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 del Sottoscrittore

##### $subscriber-&gt;set\_as\_subscriber()

Questo metodo prende il cliente e crea un cliente EDD con le sue informazioni. ##### $subscriber-&gt;set\_recurring\_customer\_id( $recurring\_id = '', $gateway = false )

Questo metodo accetta un ID ricorrente del gateway di pagamento e un nome del gateway di pagamento 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 Abbonamenti

##### $subscriber-&gt;add\_subscription( $args = array() )

Questo metodo aggiunge un abbonamento a un cliente EDD. Se non è incluso alcun ID cliente, ne crea uno dal cliente WordPress. Questo metodo utilizza `EDD_Subscription::create()`, e quindi ha tutti gli stessi requisiti. [Documentazione completa per EDD\_Subscription::create()](https://easydigitaldownloads.com/docs/recurring-payments-developer-edd_subscription/). Accetta un array di dati richiesti da `EDD_Subscription::create()`. Restituisce un oggetto abbonamento. ##### $subscriber-&gt;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' =&gt; 0,
    'amount'          =&gt; '0.00', 
    'transaction_id'  =&gt; '',  
);
```

La chiave dell'array `subscription_id` non deve essere vuota e deve essere un intero. Questo metodo utilizza `EDD_Subscription::add_payment()` e quindi ha tutti gli stessi requisiti. [Documentazione completa per EDD\_Subscription::add\_payment()](https://easydigitaldownloads.com/docs/recurring-payments-developer-edd_subscription/). Restituisce true.</body></html>