/plugin-prestashop-v2

Módulo de integración de Decidir para PrestaShop 2

Primary LanguagePHP

Prestashop - módulo Decidir (v1.0.x)

Plug-in para la integración con pasarela de pago Decidir.

Consideraciones Generales

El plugin de pagos de Decidir 2.0, provee a las tiendas Prestashop de un nuevo método de pago, integrando la tienda al gateway de pago. La versión de este plug in esta testeada en PHP 5.3 en adelante y Prestashop 1.6 en adelante. Es sumamente importante que se compare con las necesidades de negocio para evaluar la utilización del mismo o recurrir a una integración vía SDK.

Instalación

  1. Descomprimir el archivo .zip.
  2. Copiar carpeta la carpeta "Decidir" en la carpeta prestashop/modules.
  3. Ir a "Módulos" dentro del Area de Administración.
  4. En la lista de módulos, ir a la fila llamada "Decidir" y hacer click donde dice "Instalar". De aparecer un cartel de advertencia, elegir la opción "Seguir con la instalación". Una vez instalado ir a la pagina de configuración, que se puede acceder desde la lista de módulos.

Para actualizar el plugin se debe desinstalar cualquier versión anterior antes de copiar el plugin a la carpeta modules de Prestashop. De lo contrario fallará la instalacion de la nueva versión

Observación: Descomentar: extension=php_openssl.dll y extension=php_curl.dll del php.ini.


[Volver a inicio](#inicio)

Configuración

Para llegar al menu de configuración ir a Módulos y en la lista buscar el ítem llamado Decidir. El Plugin esta separado por secciones, Configuración Cybersource, ABM medios de pago, entidades y planes de pago.

Configuración general

Esta sección permite configurar los parámetros de activación del plugin, el nombre del plugin a mostrar en el frontend en la sección de selección de medio de pago y el ambiente. Si está activado será producción en caso contrario el ambiente de prueba. Además permite cargar las credenciales del comercio. Key publica y privada de ambos ambientes. La subsección estados del pedido permiten agregar los estados que ira tomando la orden durante el proceso de compra. Durante la instalación se definen los estados por defecto, que pueden ser modificados por el administrador.

Configuración Cybersource

Esta sección permite activar Cybersource en Decidir y seleccionar el tipo de vertical (actualmente se encuentra disponible Retail, Ticketing y Digital Goods).

NOTA: Para poder habilitar Cybersource es necesario tener contratado el servicio y se debe seleccionar el vertical correcto de otra forma no funcionará en el Plugin.

ABMs de configuración

Permite ingresar los Medios de pago, Entidades financieras, Promociones de pago y intereses de tarjetas de créditos habilitadas en el momento del pago.

ABM medios de pago

En el ABM de medio de pago se encuentran:

  • Medio de Pago: El nombre con el que se mostrará dicho medio de pago. (Obligatorio)
  • Tipo: Tarjeta u offline. Por el momento solo está disponible el primer tipo. (Obligatorio)
  • Id Decidir: El código del medio de pago en Decidir. (Ver Tabla en documentación del servicio) (Obligatorio)
  • Activar: Flag para activar/desactivar el medio de pago. (Obligatorio)
ABM de entidades financieras

En el ABM de entidades se encuentra:

  • Nombre Entidad: El nombre con el que se mostrará dicha entidad. (Obligatorio)
  • Activar: Flag para activar/desactivar la entidad (Obligatorio)
ABM medios de promociones

En el ABM de promociones:

  • Nombre: Nombre del plan (Obligatorio)
  • Tarjeta: Tipo de medio de pago (Obligatorio)
  • Entidad Financiera: Entidad financiera de la promocion (Obligatorio)
  • ID Plan de la marca: (No obligatorio)
  • Cuotas a enviar: Cuota enviada en el caso que sea distinta a la real (No obligatorio)
  • Días: Días habilitados para la promoción. (Obligatorio)
  • Fecha inicio: Fecha de inicio de la promoción (No obligatorio)
  • Fecha final: Fecha fin de la promocion (No obligatorio)
  • Cuotas: Cuotas habilitadas para la promoción (Obligatorio)
  • Tasa Directa: Coeficiente de la promoción (Obligatorio)
  • Descuento: Porcentaje de descuento de la promoción (No obligatorio)
  • Reintegro: Porcentaje de reintegro de la promoción (No obligatorio)
  • Activado: Flag para activar/desactivar la promoción (Obligatorio)
ABM medios de interes

En el ABM de intereses:

  • Cuotas: Cuota a mostrar (Obligatorio)
  • Medio de Pago: Selección de medio de pago (Obligatorio)
  • Coeficiente: Coeficiente correspondiente a la cuota (Obligatorio)
  • activado: Flag para activar/desactivar al interés (Obligatorio)

Nuevas columnas y atributos

El plugin creará nuevas tablas y registros en tablas existentes para lograr las nuevas funcionalidades y su persistencia dentro del framework.

Tablas:
  1. decidir_transacciones, Guarda registros de las ordenes generadas en Decidir.
  2. decidir_tokens, Guarda los tokens de tarjetas previamente utilizadas.
  3. medios, Guarda los medios de pagos habilitados.
  4. bancos, Guarda las entidades financieras.
  5. promociones, Guarda las promociones de tarjetas.
  6. interes, Guarda los intereses de las tarjeta de credito
Registros:

Las registros de configuración se encuentran guardados en la tabla de configuration de Pretashop.

Volver a inicio

Prevención de Fraude

Consideraciones Generales (para todas los verticales, por defecto RETAIL)

El plugin obtiene valores obligatorios para la compra con Cybersource. Para ello se utilizan las clases Customer, Address y State para recuperar los registros almacenados en la base de datos que corresponden al cliente que efectúa la compra y Cart para recuperar el carrito en el que se almacena los datos relativos a la compra en sí.

   $cart = $this->context->cart;
   $customer = new Customer($cart->id_customer);
   $address = new Address($cart->id_address_invoice);
   $state = new State($address->id_state);

-- Ciudad de Facturación: $address->city;
-- País de facturación:  $address->country;
-- Identificador de Usuario: $customer->id;
-- Email del usuario al que se le emite la factura: $customer->email;
-- Nombre de usuario el que se le emite la factura: $customer->firstname;
-- Apellido del usuario al que se le emite la factura: $customer->lastname;
-- Teléfono del usuario al que se le emite la factura: $address->phone;
-- Provincia de la dirección de facturación: $state->iso_code;
-- Domicilio de facturación: $address->address1;
-- Moneda: $cart->id_currency;
-- Total:  $cart->getOrderTotal(true, Cart::BOTH);
-- IP de la pc del comprador: Tools::getRemoteAddr();

También se utilizá la clase Customer para obtener el password del usuario (comprador) y la tabla Orders, donde se consultan las transacciones facturadas al comprador.

Consideraciones para vertical RETAIL

Las consideración para el caso de empresas del rubro RETAIL son similares a las consideraciónes generales con la diferencia de se utiliza el atributo id_address_delivery en lugar de id_address_invoice para recuperar el registro de la tabla address

   $cart = $this->context->cart;
   $customer = new Customer($cart->id_customer);
   $address = new Address($cart->id_address_delivery);
   $state = new State($address->id_state);
   $carrier = new Carrier($cart->id_carrier);
   
-- Ciudad de envío de la orden: $address->city;
-- País de envío de la orden: $address->country;
-- Mail del destinatario: $customer->email;
-- Nombre del destinatario: $customer->firstname;
-- Apellido del destinatario: $customer->lastname;
-- Número de teléfono del destinatario: $address->phone;
-- Código postal del domicio de envío: $address->postcode;
-- Provincia de envío: $state->iso_code;
-- Domicilio de envío: $address->address1;
-- Método de despacho: $carrier->name;
-- Listado de los productos: $cart->getProducts();

Nota: la funcion $cart->getProducts() devuelve un array con el listado de los productos, que se usan para conseguir la información que se debe enviar mediante la función _getProductsDetails().

Muy Importante

Provincias: uno de los datos requeridos para prevención común a todos los verticales es el campo provincia/state tanto del comprador como del lugar de envío, para tal fin el plug in utiliza el valor del campo id_state, que figura en el registro Address recuperado, para recuperar el objeto State correspondiente a ese id, y así obtener el iso_code. El formato de estos datos deben ser tal cual la tabla de referencia (tabla provincias). En Prestashop el listado se encuentra en Localización -> Provincias.
Celular: se utiliza el atributo phone_mobile del registro Address recuperado.

Volver a inicio

Características

Formulario de pago Decidir

El Plugin para realizar el pago posee un formulario integrado de pago. Este permite pagar de dos forma. Ingresando todos los datos de la tarjeta o ingresando solo el código de seguridad a partir de la segunda compra con la misma tarjeta.

Volver a inicio

Devoluciónes - Anulacion de pago

Es posible realizar devoluciones o reembolsos mediante la página de resumen del Pedido "Pedidos->Pedido". Allí deberá hacer click en el botón "Devolución" ingresando el monto a devolver y sera procesada por Decidir. Si la devolución es autorizada se genera una factura de devolución en la sección "Documentos".

Nota: En la pagina de resumen del Pedido mostrara el Id de operación Decidir de la transacción, cualquier consulta a soporte de Decidir sobre la operación requerirá este id.

Volver a inicio

Tablas de Referencia

Provincias

ProvinciaCódigo
CABAC
Buenos AiresB
CatamarcaK
ChacoH
ChubutU
CórdobaX
CorrientesW
Entre RíosE
FormosaP
JujuyY
La PampaL
La RiojaF
MendozaM
MisionesN
NeuquénQ
Río NegroR
SaltaA
San JuanJ
San LuisD
Santa CruzZ
Santa FeS
Santiago del EsteroG
Tierra del FuegoV
TucumánT
[Volver a inicio](#inicio)

Versiones Disponibles

Version del Plugin Estado Versiones Compatibles
v1.0.x Stable (Current version) PrestaShop v1.6.x y 1.7.x

Volver a inicio