Autentificare
Începe

Documentație Easy Digital Downloads

Documentație, Materiale de Referință și Tutoriale pentru Easy Digital Downloads 

Plăți Recurente – Dezvoltator: EDD_Recurring_Subscriber

Plăți Recurente vine cu o nouă clasă EDD pentru gestionarea abonaților. Clasa EDD_Recurring_Subscriber vă permite să interacționați cu clienții abonați și cu abonamentele din conturile lor.

Crearea Obiectelor

EDD_Recurring_Subscriber ar trebui apelat cu un identificator pentru un client EDD sau un utilizator WordPress de pe site. Acesta poate fi o adresă de e-mail, un ID de utilizator WordPress sau un ID de client EDD. Iată câteva exemple:

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

Dacă furnizați un număr întreg, va căuta un client EDD cu acel customer_id.

$subscriber = new EDD_Recurring_Subscriber( 3 );

Dacă furnizați un număr întreg cu un al doilea argument true, va căuta un utilizator WordPress cu acel user_id.

$subscriber = new EDD_Recurring_Subscriber( 3, true );

Oricare dintre cele de mai sus va returna un obiect care arată astfel:

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

Metode disponibile

Fiecare dintre metodele de mai jos presupune că aveți un obiect asociat cu un client specific și va face referire la acel client ca „clientul”.

Metode Condiționale

$subscriber->has_active_subscription()

Această metodă verifică dacă clientul are un abonament activ sau anulat, dar nu expirat.

Returnează boolean, filtrat astfel:

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

Această metodă verifică dacă clientul are vreun tip de abonament la un ID de produs EDD specific.

Acceptă un număr întreg care este un ID de produs EDD.

Returnează boolean filtrat astfel:

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

Această metodă verifică dacă clientul are un abonament activ la un ID de produs EDD specific.

Acceptă un număr întreg care este un ID de produs EDD.

Returnează boolean filtrat astfel:

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

Obținerea Informațiilor despre Abonat

$subscriber->get_subscription_by_profile_id( $profile_id = ” )

Această metodă acceptă un ID de profil de plată și returnează un obiect EDD_Subscription cu toate informațiile despre acel abonament.

Acceptă un ID de profil al gateway-ului de plată. Puteți găsi ID-uri de profil pentru abonamente specifice pe pagina de detalii a unui abonament specific sub Downloads → Subscriptions.

Returnează un obiect EDD_Subscription. Un exemplu poate fi găsit în documentația EDD_Subscription.

$subscriber->get_subscription( $subscription_id = 0 )

Această metodă acceptă un ID de abonament și returnează un obiect EDD_Subscription cu toate informațiile despre acel abonament, similar cu $subscriber->get_subscription_by_profile_id().

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

Această metodă va obține toate abonamentele pentru client care îndeplinesc cerințele de intrare. Acceptă doi argumente, primul fiind un product_id și al doilea fiind un array de statusuri. Iată câteva exemple:

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

Această metodă determină data de expirare a unui abonament cu o perioadă mai mare decât data curentă de expirare. De exemplu, dacă data de expirare ar fi 2017-01-01 23:59:59 și perioada ar fi o lună, atunci această metodă ar returna 2017-02-01 23:59:59.

Acceptă un număr întreg pentru download_id ca prim argument obligatoriu.

Acceptă un număr întreg pentru price_id în cazul prețurilor variabile, opțional

Returnează o dată formatată ca Y-m-d H:i:s.

$subscriber->get_recurring_customer_ids()

Această metodă returnează un array conținând toate ID-urile clienților create de gateway-urile de plată pentru client. Un exemplu ar fi

Array
(
    [stripe] => cus_85YmUU1QuH5yxY
)

Ieșirea este filtrată în acest fel:

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

Această metodă acceptă un nume de gateway și returnează un șir de caractere conținând ID-ul clientului asociat cu clientul și acel gateway.

Acceptă un șir de caractere conținând un nume de gateway precum stripe.

Returnează un șir de caractere conținând un ID de client precum cus_85YmUU1QuH5yxY

Ieșirea este filtrată în acest fel:

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

Setarea Opțiunilor Abonatului

$subscriber->set_as_subscriber()

Această metodă preia clientul și creează un Client EDD cu informațiile acestuia.

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

Această metodă acceptă un ID recurent al gateway-ului de plată și un nume de gateway și le asociază cu clientul.

Acceptă un șir de caractere conținând un ID recurent al gateway-ului de plată precum cus_85YmUU1QuH5yxY. Obligatoriu.

Acceptă un șir de caractere conținând un nume de gateway precum
stripe. Obligatoriu

Gestionarea abonamentelor

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

Această metodă adaugă un abonament unui client EDD. Dacă nu este inclus niciun customer_id, creează unul din clientul WordPress.

Această metodă utilizează EDD_Subscription::create() și, prin urmare, are aceleași cerințe. Documentație completă pentru EDD_Subscription::create().

Acceptă un array de date necesare pentru EDD_Subscription::create().

Returnează un obiect de abonament.

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

Această metodă adaugă o înregistrare de plată la un abonament specific pentru client. Acceptă un array de acest fel:

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

Cheia array-ului subscription_id nu trebuie să fie goală și ar trebui să fie un număr întreg.

Această metodă utilizează EDD_Subscription::add_payment() și, prin urmare, are aceleași cerințe. Documentație completă pentru EDD_Subscription::add_payment().

Returnează true.

A fost util acest articol?

Începeți să vindeți astăzi!

Alăturați-vă peste 50.000 de proprietari de magazine inteligente și începeți să folosiți cel mai ușor mod de a vinde produse digitale cu WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]