Entrar
Começar

Documentação do Easy Digital Downloads

Documentação, Materiais de Referência e Tutoriais para Easy Digital Downloads 

Pagamentos Recorrentes – Desenvolvedor: EDD_Recurring_Subscriber

Pagamentos Recorrentes vem com uma nova classe EDD para gerenciar assinantes. A classe EDD_Recurring_Subscriber permite que você interaja com clientes de assinatura e as assinaturas em suas contas.

Criando Objetos

EDD_Recurring_Subscriber deve ser chamado com um identificador para um cliente EDD ou usuário do WordPress no site. Pode ser um endereço de e-mail, um ID de usuário do WordPress ou um ID de cliente EDD. Aqui estão alguns exemplos:

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

Se você passar um inteiro, ele procurará um cliente EDD com esse customer_id.

$subscriber = new EDD_Recurring_Subscriber( 3 );

Se você passar um inteiro com um segundo argumento true, ele procurará um usuário do WordPress com esse user_id.

$subscriber = new EDD_Recurring_Subscriber( 3, true );

Qualquer um dos itens acima retornará um objeto que se parece com isto:

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

Métodos Disponíveis

Cada um dos métodos abaixo assume que você tem um objeto associado a um cliente específico e se referirá a esse cliente como “o cliente”.

Métodos Condicionais

$subscriber->has_active_subscription()

Este método verifica se o cliente tem uma assinatura que está ativa ou cancelada, mas não expirada.

Retorna booleano, filtrado desta forma:

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

Este método verifica se o cliente tem algum tipo de assinatura em um ID de produto EDD específico.

Aceita um inteiro que é um ID de produto EDD.

Retorna booleano filtrado desta forma:

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

Este método verifica se o cliente tem uma assinatura ativa em um ID de produto EDD específico.

Aceita um inteiro que é um ID de produto EDD.

Retorna booleano filtrado desta forma:

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

Obtendo Informações do Assinante

$subscriber->get_subscription_by_profile_id( $profile_id = ” )

Este método aceita um ID de perfil de pagamento e retorna um objeto EDD_Subscription com todas as informações sobre essa assinatura.

Aceita um ID de perfil do gateway de pagamento. Você pode encontrar IDs de perfil para assinaturas específicas na página de detalhes de uma assinatura específica em Downloads → Assinaturas.

Retorna um objeto EDD_Subscription. Um exemplo pode ser encontrado na documentação do EDD_Subscription.

$subscriber->get_subscription( $subscription_id = 0 )

Este método aceita um ID de assinatura e retorna um objeto EDD_Subscription com todas as informações sobre essa assinatura, semelhante a $subscriber->get_subscription_by_profile_id()

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

Este método obterá todas as assinaturas do cliente que atendem aos requisitos de entrada. Ele aceita dois argumentos, o primeiro sendo um product_id e o segundo sendo um array de status. Aqui estão alguns exemplos:

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

Este método determina a data de expiração de uma assinatura um período além da data de expiração atual. Por exemplo, se a data de expiração fosse 2017-01-01 23:59:59 e o período fosse um mês, este método retornaria 2017-02-01 23:59:59.

Aceita um inteiro para download_id como o primeiro argumento obrigatório.

Aceita um inteiro para price_id no caso de preços variáveis, opcional

Retorna uma data formatada como Y-m-d H:i:s.

$subscriber->get_recurring_customer_ids()

Este método retorna um array contendo todos os IDs de clientes criados por gateways de pagamento para o cliente. Um exemplo seria

Array
(
    [stripe] => cus_85YmUU1QuH5yxY
)

A saída é filtrada desta forma:

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

Este método aceita um nome de gateway e retorna uma string contendo o ID do cliente associado ao cliente e a esse gateway.

Aceita uma string contendo um nome de gateway como stripe.

Retorna uma string contendo um ID de cliente como cus_85YmUU1QuH5yxY

A saída é filtrada desta forma:

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

Definindo Opções do Assinante

$subscriber->set_as_subscriber()

Este método pega o cliente e cria um Cliente EDD com suas informações.

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

Este método aceita um ID recorrente de gateway de pagamento e um nome de gateway de pagamento e os associa ao cliente.

Aceita uma string contendo um ID recorrente de gateway de pagamento como
cus_85YmUU1QuH5yxY. Obrigatório.

Aceita uma string contendo um nome de gateway como
stripe. Obrigatório

Gerenciando Assinaturas

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

Este método adiciona uma assinatura a um cliente EDD. Se não houver customer_id incluído, ele cria um a partir do cliente do WordPress.

Este método usa EDD_Subscription::create() e, portanto, tem todos os mesmos requisitos. Documentação completa para EDD_Subscription::create().

Aceita um array de dados exigidos por EDD_Subscription::create().

Retorna um objeto de assinatura.

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

Este método adiciona um registro de pagamento a uma assinatura específica para o cliente. Ele aceita um array como este:

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

A chave do array subscription_id não pode estar vazia e deve ser um inteiro.

Este método usa EDD_Subscription::add_payment() e, portanto, tem todos os mesmos requisitos. Documentação completa para EDD_Subscription::add_payment().

Retorna true.

Este artigo foi útil?

Comece a vender hoje mesmo!

Junte-se a mais de 50.000 proprietários de lojas inteligentes e comece a usar a maneira mais fácil de vender produtos digitais com o WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]