Zaloguj się
Rozpocznij

Dokumentacja Easy Digital Downloads

Dokumentacja, materiały referencyjne i samouczki dla Easy Digital Downloads 

Płatności cykliczne – Deweloper: EDD_Recurring_Subscriber

Płatności cykliczne zawierają nową klasę EDD do zarządzania subskrybentami. Klasa EDD_Recurring_Subscriber pozwala na interakcję z klientami subskrypcji i subskrypcjami na ich kontach.

Tworzenie obiektów

EDD_Recurring_Subscriber powinno być wywoływane z identyfikatorem klienta EDD lub użytkownika WordPress w witrynie. Może to być adres e-mail, identyfikator użytkownika WordPress lub identyfikator klienta EDD. Oto kilka przykładów:

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

Jeśli przekażesz liczbę całkowitą, wyszukany zostanie klient EDD z tym customer_id.

$subscriber = new EDD_Recurring_Subscriber( 3 );

Jeśli przekażesz liczbę całkowitą z drugim argumentem true, wyszukany zostanie użytkownik WordPress z tym user_id.

$subscriber = new EDD_Recurring_Subscriber( 3, true );

Każda z powyższych opcji zwróci obiekt wyglądający tak:

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

Dostępne metody

Każda z poniższych metod zakłada, że masz obiekt powiązany z konkretnym klientem i będzie odnosić się do tego klienta jako „klienta”.

Metody warunkowe

$subscriber->has_active_subscription()

Ta metoda sprawdza, czy klient ma aktywną lub anulowaną, ale nie wygasłą subskrypcję.

Zwraca wartość boolean, filtrowaną w następujący sposób:

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

Ta metoda sprawdza, czy klient ma jakikolwiek rodzaj subskrypcji dla konkretnego produktu EDD.

Akceptuje liczbę całkowitą będącą identyfikatorem produktu EDD.

Zwraca wartość boolean, filtrowaną w następujący sposób:

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

Ta metoda sprawdza, czy klient ma aktywną subskrypcję dla konkretnego produktu EDD.

Akceptuje liczbę całkowitą będącą identyfikatorem produktu EDD.

Zwraca wartość boolean, filtrowaną w następujący sposób:

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

Pobieranie informacji o subskrybencie

$subscriber->get_subscription_by_profile_id( $profile_id = ” )

Ta metoda akceptuje identyfikator profilu płatności i zwraca obiekt EDD_Subscription ze wszystkimi informacjami o tej subskrypcji.

Akceptuje identyfikator profilu bramki płatności. Identyfikatory profilów dla poszczególnych subskrypcji można znaleźć na stronie szczegółów konkretnej subskrypcji w sekcji Pobrane pliki → Subskrypcje.

Zwraca obiekt EDD_Subscription. Przykład można znaleźć w dokumentacji EDD_Subscription.

$subscriber->get_subscription( $subscription_id = 0 )

Ta metoda akceptuje identyfikator subskrypcji i zwraca obiekt EDD_Subscription ze wszystkimi informacjami o tej subskrypcji, podobnie jak $subscriber->get_subscription_by_profile_id().

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

Ta metoda pobierze wszystkie subskrypcje klienta, które spełniają podane wymagania. Akceptuje dwa argumenty: pierwszy to product_id, a drugi to tablica statusów. Oto kilka przykładów:

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

Ta metoda określa datę wygaśnięcia subskrypcji o jeden okres po bieżącej dacie wygaśnięcia. Na przykład, jeśli datą wygaśnięcia byłby 2017-01-01 23:59:59, a okres wynosiłby jeden miesiąc, ta metoda zwróciłaby 2017-02-01 23:59:59.

Akceptuje liczbę całkowitą dla download_id jako pierwszy wymagany argument.

Akceptuje liczbę całkowitą dla price_id w przypadku cen zmiennych, opcjonalnie

Zwraca datę w formacie R-m-d G:i:s.

$subscriber->get_recurring_customer_ids()

Ta metoda zwraca tablicę zawierającą wszystkie identyfikatory klientów utworzone przez bramki płatności dla klienta. Przykładem może być

Array
(
    [stripe] => cus_85YmUU1QuH5yxY
)

Wyjście jest filtrowane w ten sposób:

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

Ta metoda akceptuje nazwę bramki i zwraca ciąg znaków zawierający identyfikator klienta powiązany z klientem i tą bramką.

Akceptuje ciąg znaków zawierający nazwę bramki, taką jak stripe.

Zwraca ciąg znaków zawierający identyfikator klienta, taki jak cus_85YmUU1QuH5yxY

Wyjście jest filtrowane w ten sposób:

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

Ustawianie opcji subskrybenta

$subscriber->set_as_subscriber()

Ta metoda pobiera klienta i tworzy Klienta EDD z jego informacjami.

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

Ta metoda akceptuje identyfikator cykliczny bramki płatności i nazwę bramki płatności i powiązuje je z klientem.

Akceptuje ciąg znaków zawierający identyfikator cykliczny bramki płatności, taki jak
cus_85YmUU1QuH5yxY. Wymagane.

Akceptuje ciąg znaków zawierający nazwę bramki, taką jak
stripe. Wymagane

Zarządzanie subskrypcjami

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

Ta metoda dodaje subskrypcję do klienta EDD. Jeśli nie ma podanego customer_id, tworzy go z klienta WordPress.

Ta metoda używa EDD_Subscription::create(), a zatem ma wszystkie te same wymagania. Pełna dokumentacja dla EDD_Subscription::create().

Akceptuje tablicę danych wymaganych przez EDD_Subscription::create().

Zwraca obiekt subskrypcji.

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

Ta metoda dodaje rekord płatności do określonej subskrypcji dla klienta. Akceptuje tablicę taką jak ta:

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

Klucz tablicy subscription_id nie może być pusty i powinien być liczbą całkowitą.

Ta metoda używa EDD_Subscription::add_payment(), a zatem ma wszystkie te same wymagania. Pełna dokumentacja dla EDD_Subscription::add_payment().

Zwraca true.

Czy ten artykuł był pomocny?

Zacznij sprzedawać już dziś!

Dołącz do ponad 50 000 sprytnych właścicieli sklepów i zacznij korzystać z najłatwiejszego sposobu sprzedaży produktów cyfrowych za pomocą WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]