Open facundobatista opened 5 years ago
Estuve leyendo el código y no me queda claro:
a) débito automático es un objeto de PaymentStrategy
creado en la DB de producción?
o
b) las 2 plataformas (Todo pago y Mercado pago) son debito automático;
o ...
gracias
No hay una plataforma que sea débito automático per se.
El PaymentStrategy
es una forma de relacionar un pago externo con el sistema. Cuando pagás por transferencia o todopago, agarramos un paymentstrategy relacionado con tu patron y ya (porque sacamos el patron de forma sencilla a partir del DNI, ver comando pay
si te interesa profundizar).
Pero cuando tenemos que relacionar pagos automáticos ("recurrentes") relacionamos la info que nos da Mercadopago a través del id_in_platform
, y de ahí sacamos el patron/member para pasar las cuotas).
Habiendo dicho todo eso, me parece que aclaré un poco el escenario, pero no tengo idea si contesté tu pregunta... :)
Bueno, leyendo los modelos no encuentro como seleccionar "todos los miembros que NO tienen débito automático". Se puede?
Sí!
Primero agarrá todas las estrategias de pago que NO son de MercadoPago: PaymentStrategy.objects.exclude(platform=PaymentStrategy.MERCADO_PAGO).all()
Cada uno de esos objetos tiene un Patron. Y un patron puede actuar sobre muchos beneficiarios: .patron.beneficiary.all()
El script debe recibir un mes como parámetro, y tiene que sacar todos los miembros que NO tienen débito automático, y si la ultima cuota que tienen cargada es del mes recibido, mandarles un mail.
El mail es algo como "te recordamos que la última cuota que tenés paga de la AC es la del mes tanto, y tenés todas estas opciones para seguir pagando".
Después pondremos un crontab los últimos días del mes o los primeros del siguiente, y sale solo.