Saltar al contenido principal

Gaia_Stripe

Descripción General

El módulo Gaia_Stripe personaliza y extiende la funcionalidad del módulo de pagos Stripe en Magento 2. Incluye modificaciones en el procesamiento de pagos, gestión de webhooks, cálculo de comisiones (MiFee), integración con headless y APIs personalizadas para el procesamiento de pagos.

Features

Servicio de API Personalizado

  • Descripción: Personaliza el servicio de API de Stripe con funcionalidades específicas de Gaia.
  • Tipo de modificación: Override de servicio de API.
  • Archivos del core afectados: Reemplaza StripeIntegration\Payments\Api\Service.
  • Archivos del módulo:
    • Model/Api/Service.php
    • Model/Api/ServiceInterface.php
  • Notas importantes:
    • Extiende la funcionalidad base del servicio de Stripe.

Gestión de Webhooks Personalizada

  • Descripción: Personaliza la gestión de webhooks de Stripe.
  • Tipo de modificación: Override de helper de webhooks.
  • Archivos del core afectados: Reemplaza StripeIntegration\Payments\Helper\Webhooks.
  • Archivos del módulo:
    • Helper/Webhooks.php
  • Notas importantes:
    • Permite lógica personalizada en el procesamiento de webhooks.

Cálculo de Comisiones (MiFee)

  • Descripción: Implementa cálculo personalizado de comisiones en el checkout.
  • Tipo de modificación: Plugin en conversión de totales y checkout.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • Plugin/Model/MiFeeTotal.php
    • Plugin/Model/Onepage.php
  • Notas importantes:
    • Afecta el cálculo de totales en el carrito y checkout.

Payment Intent Personalizado

  • Descripción: Personaliza el procesamiento de Payment Intent de Stripe.
  • Tipo de modificación: Plugin en Payment Intent.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • Plugin/Model/PaymentIntentPlugin.php
  • Notas importantes:
    • Permite agregar información de financiamiento al payment intent.

Servicio de Comisiones

  • Descripción: Implementa servicio específico para gestión de comisiones.
  • Tipo de modificación: Override de servicio de comisiones.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • Model/Api/FeeService.php
  • Notas importantes:
    • Proporciona lógica específica para cálculo de comisiones.

Reset de Cotización

  • Descripción: Implementa funcionalidad para resetear cotizaciones con comisiones.
  • Tipo de modificación: Observer.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • Observer/ResetQuote.php
  • Notas importantes:
    • Se ejecuta en el evento clear_mifee_quote.

Integración GraphQL

  • Descripción: Proporciona integración GraphQL para operaciones de Stripe.
  • Tipo de modificación: Schema GraphQL.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • etc/schema.graphqls
  • Notas importantes:
    • Permite operaciones de Stripe a través de GraphQL.

APIs REST Personalizadas

  • Descripción: Expone endpoints REST personalizados para operaciones de Stripe.
  • Tipo de modificación: APIs REST.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • etc/webapi.xml
  • Notas importantes:
    • Proporciona endpoints para integración con sistemas externos.

Estructura de Base de Datos

  • Descripción: Define tablas personalizadas para el módulo de Stripe.
  • Tipo de modificación: Esquema de base de datos.
  • Archivos del core afectados: No modifica archivos core de Magento.
  • Archivos del módulo:
    • etc/db_schema.xml
  • Notas importantes:
    • Crea tablas necesarias para el funcionamiento del módulo.

Overrides, Observers y Plugins Importantes

Preferences (Overrides)

  • StripeIntegration\Payments\Api\ServiceGaia\Stripe\Model\Api\Service
    • Descripción: Personaliza el servicio de API de Stripe.
  • StripeIntegration\Payments\Helper\WebhooksGaia\Stripe\Helper\Webhooks
    • Descripción: Personaliza la gestión de webhooks.
  • Gaia\Stripe\Model\Api\ServiceInterfaceGaia\Stripe\Model\Api\FeeService
    • Descripción: Implementa servicio específico para comisiones.

Observers

  • clear_mifee_quoteGaia\Stripe\Observer\ResetQuote
    • Descripción: Resetea cotización cuando se limpian comisiones MiFee.

Plugins

  • StripeIntegration\Payments\Model\PaymentIntent
    • add_funding_to_payment: Agrega información de financiamiento al payment intent
  • Magento\Quote\Model\Cart\TotalsConverter
    • add_mifee_total: Agrega total de comisión MiFee
  • Magento\Checkout\Model\Type\Onepage
    • quote_reset_mifee: Resetea comisión MiFee en checkout

CLI Commands

Este módulo no define comandos CLI personalizados.

APIs

Expone APIs personalizadas para operaciones de Stripe:

  • APIs REST configuradas en etc/webapi.xml
  • Schema GraphQL en etc/schema.graphqls
  • Gaia\Stripe\Model\Api\ServiceInterface

Consideraciones para Mantenimiento

  • El módulo es crítico para el procesamiento de pagos y no debe desactivarse sin revisar dependencias.
  • Depende del módulo StripeIntegration_Payments y Gaia_Headless.
  • Los plugins se ejecutan en operaciones críticas de pago y deben ser eficientes.
  • El cálculo de comisiones MiFee puede afectar el total de las órdenes.
  • Los webhooks personalizados requieren configuración correcta en Stripe.
  • La integración GraphQL puede ser utilizada por aplicaciones headless.
  • Revisar compatibilidad con actualizaciones del módulo base de Stripe.
  • Las APIs REST pueden ser utilizadas por sistemas externos.
  • La estructura de base de datos personalizada requiere migraciones cuidadosas.