Iniciar sesión
Empezar

Documentación de Easy Digital Downloads

Documentación, Materiales de Referencia y Tutoriales para Easy Digital Downloads 

Pagos recurrentes – Desarrollador: EDD_Recurring_Subscriber

Pagos recurrentes viene con una nueva clase EDD para administrar suscriptores. La clase EDD_Recurring_Subscriber te permite interactuar con los clientes suscriptores y las suscripciones en sus cuentas.

Creación de objetos

EDD_Recurring_Subscriber debe ser llamado con un identificador para un cliente EDD o un usuario de WordPress en el sitio. Podría ser una dirección de correo electrónico, un ID de usuario de WordPress o un ID de cliente EDD. Aquí tienes algunos ejemplos:

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

Si pasas un entero, buscará un cliente EDD con ese customer_id.

$subscriber = new EDD_Recurring_Subscriber( 3 );

Si pasas un entero con un segundo argumento de true, buscará un usuario de WordPress con ese user_id.

$subscriber = new EDD_Recurring_Subscriber( 3, true );

Cualquiera de las opciones anteriores devolverá un objeto que se ve así:

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 Disponibles

Cada uno de los métodos a continuación asume que tienes un objeto asociado con un cliente específico, y se referirá a ese cliente como “el cliente”.

Métodos condicionales

$subscriber->has_active_subscription()

Este método verifica si el cliente tiene una suscripción que está activa o cancelada, pero no expirada.

Devuelve un booleano, filtrado de esta manera:

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

Este método verifica si el cliente tiene algún tipo de suscripción en un ID de producto EDD específico.

Acepta un entero que es un ID de producto EDD.

Devuelve un booleano filtrado de esta manera:

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

Este método verifica si el cliente tiene una suscripción activa en un ID de producto EDD específico.

Acepta un entero que es un ID de producto EDD.

Devuelve un booleano filtrado de esta manera:

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

Obtener información del suscriptor

$subscriber->get_subscription_by_profile_id( $profile_id = ” )

Este método acepta un ID de perfil de pago y devuelve un objeto EDD_Subscription con toda la información sobre esa suscripción.

Acepta un ID de perfil de pasarela de pago. Puedes encontrar IDs de perfil para suscripciones específicas en la página de detalles de una suscripción específica en Descargas → Suscripciones.

Devuelve un objeto EDD_Subscription. Se puede encontrar un ejemplo en la documentación de EDD_Subscription.

$subscriber->get_subscription( $subscription_id = 0 )

Este método acepta un ID de suscripción y devuelve un objeto EDD_Subscription con toda la información sobre esa suscripción, similar a $subscriber->get_subscription_by_profile_id().

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

Este método obtendrá todas las suscripciones del cliente que cumplan con los requisitos de entrada. Acepta dos argumentos, el primero es un product_id y el segundo es un array de estados. Aquí tienes algunos ejemplos:

// 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 la fecha de vencimiento de una suscripción un período más allá de la fecha de vencimiento actual. Por ejemplo, si la fecha de vencimiento fuera 2017-01-01 23:59:59 y el período fuera de un mes, este método devolvería 2017-02-01 23:59:59.

Acepta un entero para download_id como primer argumento requerido.

Acepta un entero para price_id en el caso de precios variables, opcional

Devuelve una fecha con formato como Y-m-d H:i:s.

$subscriber->get_recurring_customer_ids()

Este método devuelve un array que contiene todos los IDs de cliente creados por las pasarelas de pago para el cliente. Un ejemplo sería

Array
(
    [stripe] => cus_85YmUU1QuH5yxY
)

La salida se filtra de esta manera:

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

Este método acepta un nombre de pasarela y devuelve una cadena que contiene el ID de cliente asociado con el cliente y esa pasarela.

Acepta una cadena que contiene un nombre de pasarela como stripe.

Devuelve una cadena que contiene un ID de cliente como cus_85YmUU1QuH5yxY

La salida se filtra de esta manera:

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

Establecer opciones del suscriptor

$subscriber->set_as_subscriber()

Este método toma al cliente y crea un Cliente de EDD con su información.

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

Este método acepta un ID recurrente de pasarela de pago y un nombre de pasarela de pago y los asocia con el cliente.

Acepta una cadena que contiene un ID recurrente de pasarela de pago como cus_85YmUU1QuH5yxY. Requerido.

Acepta una cadena que contiene un nombre de pasarela como
stripe. Requerido

Administración de suscripciones

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

Este método agrega una suscripción a un cliente de EDD. Si no se incluye un customer_id, crea uno a partir del cliente de WordPress.

Este método utiliza EDD_Subscription::create() y, por lo tanto, tiene todos los mismos requisitos. Documentación completa para EDD_Subscription::create().

Acepta un array de datos requeridos por EDD_Subscription::create().

Devuelve un objeto de suscripción.

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

Este método agrega un registro de pago a una suscripción específica para el cliente. Acepta un array como este:

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

La clave del array subscription_id no debe estar vacía y debe ser un entero.

Este método utiliza EDD_Subscription::add_payment() y, por lo tanto, tiene todos los mismos requisitos. Documentación completa para EDD_Subscription::add_payment().

Devuelve true.

¿Fue útil este artículo?

¡Empieza a vender hoy mismo!

Únete a más de 50.000 dueños de tiendas inteligentes y empieza a usar la forma más fácil de vender productos digitales con WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]