Terminado

Realización de plugin de cobro por Mercado Pago

Publicado el 01 Noviembre, 2021 en Programación y Tecnología

Sobre este proyecto

Abierto

Generar plugin (  slug: dvtcbr  nombre :  Dvt cobros )  que permita realizar el cobro de productos determinados por medio de hooks o acciones .
El plugin permitirá realizar el pago de un producto :
El cliente ingresa a al sitio web , a solicitar la compra de cierto producto
El sitio web determinara el producto
El sitio web del que se le proveerá por medio de un hook de dvtcbr  el nombre, descripción , monto , precio , moneda, así como los datos del comprado ( opcionalmente ) ; este filtro retornara la url a la que redireccionar al cliente .
El cliente será redireccionado a la página de checkout en mercadopago
Mercadopago redireccionará al usuario a una página de voucher con el identificador de la transacción
El sitio conseguirá los dato de la transacción y los pagos del producto enviando los datos de la petición recibidos desde mercado pago a un filtro del dvtcbr
Con esos datos renderizar un voucher con el esta de la transacción
Mercadopago enviará notificaciones a dvtcbr en la url determinada por el plugin
dvtcbr guardará los datos en un log para su futuro procesado , respondiendo al servidor de mercado pago en menos de 10 seg ( según plantea el a documentación de mercadopago 
Por medio de un proceso de cron  dvtcbr revisa los logs previamente creados , que no hayan sido procesados
Por medio de una acción  a la que llamará ( cuya implementación está entre los datos requeridos  ) informará el cambio de estado de pago para que  quien sea que maneje el producto ( otro plugin externo ) realice los cambios necesarios
Marcará como procesados los logs para evitar volver a procesarlos .
Contemplar la gestión de como máximo 5 intentos de proceso  ,en caso de aún no funcionar marcarlo como  erróneo ( quizás una columna de la tabla ) y como procesado a fin de evitar los casos en los no se haya podido procesar en 5 intentos o más  , para estos casos además disparará  una acción  ( considerada requerida  determinada como requerida .) .

Para realizar el pago utilizar SDK de mercadopago  express checkout https://www.mercadopago.com.ar/developers/es/guides/sdks
Utilizar https://wppb.me/ como base del desarrollo
Iniciar los texto del plugin en inglés  ( contemplar su traducción al español  )
Gestionar desde una página creada en ajustes las opciones del plugin entre ellas:
Keys requeridas por mercado pago
El plugin debe poder instalarse como los plugins de wordpress
Contemplar la creación de las tablas al instalar  ( copiarlas del de reservas )
Creación o eliminación de propiedades con la  activación y desactivación
Eliminación de las propiedades al desinstalar
Gestionar el webhook desde el que se reciben las peticiones que llegan desde mercadopago
Guardar las peticiones entrantes en un log
Contestar en el menor tiempos posible
Validar que los datos estén completos al tener instalado el plugin y no permitir el inicio del pago.  Lanzar mensaje en caso de que no esté determinado alguno de los datos de configuración pero el plugin esté activo .

Ejemplo de las acciones/filtros que  se tendrían que ofrecer desde el plugin
dvtcbr_solicitar_pago(nombre, descripción , monto ,.....) => Genera el boton de pago y redirecciona a la url o retorna un WP_Error informando .
Dvtcbr_traer_datos_pago(....) => Retorna los datos de la reserva, el estado, etc
dvtcbr_pago_cambio_estado(...) => Se declara y es llamado desde el api cuando cambie de estado , se obliga a implementarlo  sino lanza mensaje .
Dvtcbr_pago_imposible_procesar(...) => Se declara y es llamado desde el api cuando cambie de estado , se obliga a implementarlo  sino lanza mensaje .

Contexto general del proyecto

Contamos con distintas plantillas que buscan realizar pagos para distintas situaciones particulares , se busca integrar el plugin de manera que cada plantilla pueda realizar el pago utilizando los hooks de este plugin .

Categoría Programación y Tecnología
Subcategoría Wordpress
¿Cuál es el alcance del proyecto? Instalación/Configuración de empaquetado
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por D.