aaferna / SAPIDK-MercadoPago-PHP

SDK Alternativo de Mercado Pago en PHP
Apache License 2.0
2 stars 0 forks source link

suscripciones #6

Closed alexistomaselli closed 4 years ago

alexistomaselli commented 4 years ago

Hola, cuento mi problemática. En mi proyecto necesito poder integrar suscripciones ya que cuento con un grupo de socios que se registran a un sistema de socios llenando un formulario y eligiendo el método de pago (en esto no hay problema). Mi idea es poder gestionar de manera automática los pagos por débito automáticos a través de un sistema desarrollado en PHP. El problema está en el siguiente paso al registro del socio, en cómo desarrollar el checkout con suscripciones (débito automático). Lo que es integración por preferencias (pagos del tipo regular_payment) lo pude implementar con el SDK-DX propio de Mercado Pago, pero no así para suscripciones, necesito saber cómo o por donde debo empezar con algún ejemplo para realizar esta integración con suscripciones. Para empezar, no entiendo cómo se relaciona una suscripción con un cliente.

Si me pueden ayudar en algo se los agradecería muchísimo, es para una tesis de ingeniería de software de integración de tecnologías actuales para sistemas de gestión.

Saludos.

aaferna commented 4 years ago

Hola! es un gusto poder ayudarte.

Para poder crear una suscripción, podes utilizar el mismo ejemplo que tenemos disponible en la wiki.

Te lo dejo acá abajo, únicamente falta que reemplaces con tus datos (credenciales e información sobre la suscripción, costo, tiempos de recobro).

<?php

include('./library/core.php');

    $dataArray = array(
    "accessToken" => "APP_USR-1864213086135942-012340-8b0cb3af04c2567f7bb8d09779aefba5-264334950",
    "user_id" => "264334950",
        "post" => array(
            'plan' =>  true,
            'data' => array (
                'reason' => 'reason',
                'back_url' => 'https://www.suscripcion.noexiste/',
                'external_reference' => 1212, // referencia interna
                'auto_recurring' => array(
                    'frequency' => 30, // frecuencia de cobro
                    'frequency_type' => "days", // se cobraria cada dia o mes segun frequency
                    'transaction_amount' => 10, // monto a cobrar
                    'currency_id' => "ARS", // moneda con la que se cobrar
                    'debit_date' => 1, // que dia del mes se cobra

                ),
            ),
        ),
    );

?>

Ahora, disponiendo de este script tenes dos formas de trabajo. O creas una suscripción por cliente o, luego de crear una suscripción por tu back end pones el URL que obtienes en init_point (que es el URL a producción, sandbox_init_point es el de pruebas) y desde ahí que se suscriban a un plan que vos después podés modificar desde el Panel de Mercado Pago o Próximamente desde SAPIDK

Te recomiendo usar escenarios reales ya que los de prueba fallan.

Luego, te toca ver la respuesta de esta suscripciones por IPN, tiene un tratado especial por el metodo que tiene de funcionamiento que en la sección de suscripciones especifico.

Cualquier duda estoy a tu disponible.

alexistomaselli commented 4 years ago

Excelente, muchísimas gracias por el aporte. Cuando haga las pruebas correspondientes en estos días te aviso cómo anduve. Otra consulta, las notificaciones IPN siempre funcionan? Porque para la integración de preferencias que desarrollé tuve que utilizar webhooks en vez de IPN's porque no me funcionaba la respuesta de mercado pago.

aaferna commented 4 years ago

Mira. Fíjate el caso de IPN Manager, yo lo vengo utilizando y no hubo problema. El WebHook tengo entendido que es para un uso dinámico en el momento y no a largo plazo. Si es posible, podrías compartir tu código de webHook?

Un saludo

aaferna commented 4 years ago

Te lo dejo aca https://github.com/gusgeek/SAPIDK-MercadoPago-PHP/wiki/IPN