Plug in para la integración con gateway de pago Todo Pago
- Consideraciones Generales
- Instalación
- Configuración
- Prevencion de Fraude
- Características
- Tablas de referencia
- Versiones disponibles
El plug in de pagos de Todo Pago, provee a las tiendas Magento 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 MAGENTO 1.7 a 1.9
- Descomprimir el archivo magento-plugin-master.zip.
- Copiar carpeta 'app', 'js', 'skin' y 'lib' al root de magento con los mismos nombres.
- Ir a System->Cache Managment y refrescar el cache.
- Luego ir a 'System->Configuration , luego en el menu lateral sales->Payment Methods' y configurar desde la pestaña de Todo Pago.
Observación Descomentar: extension=php_curl.dll, extension=php_soap.dll y extension=php_openssl.dll del php.ini, ya que para la conexión al gateway se utiliza la clase SoapClient del API de PHP. Volver a inicio
Para llegar al menu de configuración ir a: System->Configuration y seleccionar Payment Methods en el menú izquierdo. Entre los medios de pago aparecerá una solapa con el nombre Todo Pago. El Plug-in esta separado en configuarción general y 3 sub-menues.
Menú principal
Menú ambiente
Meenú estados y menú servicios
En la configuracion del plugin tambien estara la posibilidad de mostrarle al cliente el formulario de pago de TodoPago integrada en el sitio.
Para esto , en la configuracion se debe seleccionar YES en el campo Utilizar formulario híbrido:
Del lado del cliente el formulario se vera asi:
Se puede obtener los datos de configuracion del plugin con solo loguearte con tus credenciales de Todopago.
a. Ir a la opcion Obtener credenciales
b. En el popup loguearse con el mail y password de Todopago.
c. Los datos se cargaran automaticamente en los campos Merchant ID y Security code en el ambiente correspondiente (Desarrollo o produccion ) y solo hay que hacer click en el boton guardar datos y listo.
Volver a inicio
Se puede configurar la cantidad máxima de cuotas que ofrecerá el formulario de TodoPago con el campo cantidad máxima de cuotas. Para que se tenga en cuenta este valor se debe habilitar el campo Habilitar máximo de cuotas y tomará el valor fijado para máximo de cuotas. En caso que esté habilitado el campo y no haya un valor puesto para las cuotas se tomará el valor 12 por defecto. Volver a inicio
El plug in para lograr las nuevas funcionalidades y su persistencia dentro del framework creará nuevas tablas, columnas y atributos:
- en tabla sales_flat_order: todopagoclave.
- del tipo "catalog_product": todopagofechaevento, todopagocodigo, todopagoenvio, todopagoservicio, todopagodelivery.
- del tipo "customer": celular.
El plug in, toma valores estándar del framework para validar los datos del comprador. Principalmente se utiliza una instancia de la clase Mage_Sales_Model_Order. Para acceder a los datos del comprador se utiliza el metodo getBillingAddress() que devuelve un objeto ya instanciado del cual se usan los siguientes métodos:
$order = new Mage_Sales_Model_Order ();
$order->load($id);
-- Ciudad de Facturación: $order->getBillingAddress()->getCity();
-- País de facturación: $order->getBillingAddress()->getCountry();
-- Identificador de Usuario: $order->getBillingAddress()->getCustomerId();
-- Email del usuario al que se le emite la factura: $order->getBillingAddress()->getEmail();
-- Nombre de usuario el que se le emite la factura: $order->getBillingAddress()->getFirstname();
-- Apellido del usuario al que se le emite la factura: $order->getBillingAddress()->getLastname();
-- Teléfono del usuario al que se le emite la factura: $order->getBillingAddress()->getTelephone();
-- Provincia de la dirección de facturación: $order->getBillingAddress()->getRegion();
-- Domicilio de facturación: $order->getBillingAddress()->getStreet1();
-- Complemento del domicilio. (piso, departamento): $order->getBillingAddress()->getStreet2();
-- Moneda: $order->getBaseCurrencyCode();
-- Total: $order->getGrandTotal();
-- IP de la pc del comprador: $order->getRemoteIp();
Otros de los modelos utlilizados es Customer del cual a través del método getPasswordHash(), se extrae el password del usuario (comprador) y la tabla sales_flat_invoice_grid, donde se consultan las transacciones facturadas al comprador.
Las consideración para el caso de empresas del rubro RETAIL son similares a las consideraciones generales con la diferencia de se utiliza el método getShippingAddress() que devuelve un objeto y del cual se utilizan los siguientes métodos;
-- Ciudad de envío de la orden: $order->getShippingAddress()->getCity();
-- País de envío de la orden: $order->getShippingAddress()->getCountry();
-- Mail del destinatario: $order->getShippingAddress()->getEmail();
-- Nombre del destinatario: $order->getShippingAddress()->getFirstname();
-- Apellido del destinatario: $order->getShippingAddress()->getLastname();
-- Número de teléfono del destinatario: $order->getShippingAddress()->getTelephone();
-- Código postal del domicio de envío: $order->getShippingAddress()->getPostcode();
-- Provincia de envío: $order->getShippingAddress()->getRegion();
-- Domicilio de envío: $order->getShippingAddress()->getStreet1();
-- Método de despacho: $order->getShippingDescription();
-- Código de cupón promocional: $order->getCuponCode();
-- Para todo lo referido productos: $order->getItemsCollection();
nota: el valor resultante de $order->getItemsCollection(), se usan como referencias para conseguir información del modelo catalog/producto - a través de los métodos getDescription(), getName(), getSku(), getQtyOrdered(), getPrice()-.
Provincias: uno de los datos requeridos para prevención común a todos los verticales es el campo provinicia/state tanto del comprador como del lugar de envío, para tal fin el plug in utiliza el valor del campo región de las tablas de la orden (sales_flat_order_address) a través del getRegion() tanto del billingAddress como del shippingAddress. El formato de estos datos deben ser tal cual la tabla de referencia (tabla provincias). Para simplificar la implementación de la tabla en magento se deja para su implementación la clase Decidir\Decidirpago\Model\System\Config\Source\Csprovincias.php, con el formato requerido. Al final de este documento se muestra un script sql que pude ser tomado de refrencia.
Celular: el plug in creará un nuevo atributo de customer del tipo EAV, con el nombre (Attribute Code) celular que se verá en la vista con la etiqueta (label) Celular, el cual en deberá ser implemantado para su utilización.
Ejemplo:
$customer = Mage::getModel('customer/customer')->load($customer_id);
$customer->getCelular();
En caso que la tienda decida no implementar este nuevo atributo o que el valor quede vacío el plug in mandara al sistema el mismo número que devuleve el método $order->getBillingAddress()->getTelephone().
Para efectivizar la prevención de fraude se han creado nuevos atributos de producto dentro de la categoria "Prevención de Fraude".
Estos campos no son obligatorios aunque si requeridos para Control de Fraude
El plug in crea un nuevo tab para poder consultar on line las características de la transacción en el sistema de Todo Pago.
Es posible realizar devoluciones o reembolsos mediante el procedimiento habitual de Magento. Para ello dirigirse a una orden, y mediante el menú seleccionar "Invoices" para poder generar una nota de crédito (credit memo) sobre la factura. Allí deberá hacerse click en el botón "Refund" para que la devolución sea online y procesada por Todo Pago.
Provincias
Provincia | Código |
---|---|
CABA | C |
Buenos Aires | B |
Catamarca | K |
Chaco | H |
Chubut | U |
Córdoba | X |
Corrientes | W |
Entre Ríos | E |
Formosa | P |
Jujuy | Y |
La Pampa | L |
La Rioja | F |
Mendoza | M |
Misiones | N |
Neuquén | Q |
Río Negro | R |
Salta | A |
San Juan | J |
San Luis | D |
Santa Cruz | Z |
Santa Fe | S |
Santiago del Estero | G |
Tierra del Fuego | V |
Tucumán | T |
INSERT INTO
directory_country_region (region_id, country_id , code, default_name)
VALUES
('4859', 'AR', 'C', 'CABA'),
('486' , 'AR', 'B', 'Buenos Aires'),
('487' , 'AR', 'A', 'Salta'),
('488' , 'AR', 'K', 'Catamarca'),
('489' , 'AR', 'H', 'Chaco'),
('490' , 'AR', 'U', 'Chubut'),
('491' , 'AR', 'X', 'Cordoba'),
('492' , 'AR', 'W', 'Corrientes'),
('493' , 'AR', 'E', 'Entre Rios'),
('494' , 'AR', 'P', 'Formosa'),
('495' , 'AR', 'Y', 'Jujuy'),
('496' , 'AR', 'L', 'La Pampa'),
('497' , 'AR', 'F', 'La Rioja'),
('498' , 'AR', 'M', 'Mendoza'),
('499' , 'AR', 'N', 'Misiones'),
('500' , 'AR', 'Q', 'Neuquen'),
('501' , 'AR', 'R', 'Rio Negro'),
('502' , 'AR', 'J', 'San Juan'),
('503' , 'AR', 'D', 'San Luis'),
('504' , 'AR', 'S', 'Santa Fe'),
('505' , 'AR', 'G', 'Santiago del Estero'),
('506' , 'AR', 'V', 'Tierra del Fuego'),
('507' , 'AR', 'T', 'Tucuman'),
('5071', 'AR', 'Z', 'Santa Cruz');
INSERT INTO
directory_country_region_name (locale, region_id , name)
VALUES
('en_US', '4859', 'CABA'),
('en_US', '486', 'Buenos Aires'),
('en_US', '487', 'Salta'),
('en_US', '488', 'Catamarca'),
('en_US', '489', 'Chaco'),
('en_US', '490', 'Chubut'),
('en_US', '491', 'Cordoba'),
('en_US', '492', 'Corrientes'),
('en_US', '493', 'Entre Rios'),
('en_US', '494', 'Formosa'),
('en_US', '495', 'Jujuy'),
('en_US', '496', 'La Pampa'),
('en_US', '497', 'La Rioja'),
('en_US', '498', 'Mendoza'),
('en_US', '499', 'Misiones'),
('en_US', '500', 'Neuquen'),
('en_US', '501', 'Rio Negro'),
('en_US', '502', 'San Juan'),
('en_US', '503', 'San Luis'),
('en_US', '504', 'Santa Fe'),
('en_US', '505', 'Santiago del Estero'),
('en_US', '506', 'Tierra del Fuego'),
('en_US', '507', 'Tucuman'),
('en_US','5071', 'Santa Cruz');
Id mensaje | Mensaje |
---|---|
-1 | Aprobada. |
1100 | El monto ingresado es menor al mínimo permitido |
1101 | El monto ingresado supera el máximo permitido. |
1102 | Tu tarjeta no corresponde con el banco seleccionado. Iniciá nuevamente la compra. |
1104 | El precio ingresado supera al máximo permitido. |
1105 | El precio ingresado es menor al mínimo permitido. |
1070 | El plazo para realizar esta devolución caducó. |
1081 | El saldo de tu cuenta es insuficiente para realizar esta devolución. |
2010 | En este momento la operación no pudo ser realizada. Por favor intentá más tarde. Volver a Resumen. |
2031 | En este momento la validación no pudo ser realizada, por favor intentá más tarde. |
2050 | Tu compra no puede ser realizada. Comunicate con tu vendedor. |
2051 | Tu compra no pudo ser procesada. Comunicate con tu vendedor. |
2052 | Tu compra no pudo ser procesada. Comunicate con tu vendedor. |
2053 | Tu compra no pudo ser procesada. Comunicate con tu vendedor. |
2054 | El producto que querés comprar se encuentra agotado. Por favor contactate con tu vendedor. |
2056 | Tu compra no pudo ser procesada. |
2057 | La operación no pudo ser procesada. Por favor intentá más tarde. |
2058 | La operación fué rechazada. Comunicate con el 0800 333 0010. |
2059 | La operación no pudo ser procesada. Por favor intentá más tarde. |
2062 | Tu compra no puede ser realizada. Comunicate con tu vendedor. |
2064 | Tu compra no puede ser realizada. Comunicate con tu vendedor. |
2074 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
2075 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
2076 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
90000 | La cuenta destino de los fondos es inválida. Verificá la información ingresada en Mi Perfil. |
90001 | La cuenta ingresada no pertenece al CUIT/ CUIL registrado. |
90002 | No pudimos validar tu CUIT/CUIL. Comunicate con nosotros acá para más información. |
99900 | Tu compra fue exitosa. |
99901 | Tu Billetera Virtual no tiene medios de pago adheridos. Ingresá a tu cuenta de Todo Pago y cargá tus tarjetas. |
99902 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99903 | Lo sentimos, hubo un error al procesar la operación. Por favor reintentá más tarde. |
99904 | El saldo de tu tarjeta no te permite realizar esta compra. Iniciala nuevamente utilizando otro medio de pago. |
99905 | En este momento la operación no pudo ser procesada. Intentá nuevamente. |
99907 | Tu compra no pudo ser procesada. Comunicate con tu vendedor. |
99910 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99911 | Lo sentimos, se terminó el tiempo para confirmar esta compra. Por favor iniciá nuevamente el proceso de pago. |
99950 | Tu compra no pudo ser procesada. |
99960 | Esta compra requiere autorización de VISA. Comunicate al número que se encuentra al dorso de tu tarjeta. |
99961 | Esta compra requiere autorización de AMEX. Comunicate al número que se encuentra al dorso de tu tarjeta. |
99970 | Lo sentimos, no pudimos procesar la operación. Por favor reintentá más tarde. |
99971 | Lo sentimos, no pudimos procesar la operación. Por favor reintentá más tarde. |
99972 | Tu compra no pudo realizarse. Iniciala nuevamente utilizando otro medio de pago. |
99974 | Tu compra no pudo realizarse. Iniciala nuevamente utilizando otro medio de pago. |
99975 | Tu compra no pudo realizarse. Iniciala nuevamente utilizando otro medio de pago. |
99977 | Tu compra no pudo realizarse. Iniciala nuevamente utilizando otro medio de pago. |
99979 | Tu compra no pudo realizarse. Iniciala nuevamente utilizando otro medio de pago. |
99978 | Lo sentimos, no pudimos procesar la operación. Por favor reintentá más tarde. |
99979 | Lo sentimos, el pago no pudo ser procesado. |
99980 | Ya realizaste una compra por el mismo importe. Iniciala nuevamente en unos minutos. |
99982 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando. |
99983 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99984 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99985 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99986 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99987 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99988 | Tu compra no pudo ser procesada. Iniciala nuevamente utilizando otro medio de pago. |
99989 | Tu tarjeta no autorizó tu compra. Iniciala nuevamente utilizando otro medio de pago. |
99990 | Tu tarjeta está vencida. Iniciá nuevamente la compra utilizando otro medio de pago. |
99991 | Los datos informados son incorrectos. Por favor ingresalos nuevamente. |
99992 | El saldo de tu tarjeta no te permite realizar esta compra. Iniciala nuevamente utilizando otro medio de pago. |
99993 | Tu tarjeta no autorizó el pago. Iniciá nuevamente la compra utilizando otro medio de pago. |
99994 | El saldo de tu tarjeta no te permite realizar esta operacion. |
99995 | Tu tarjeta no autorizó tu compra. Iniciala nuevamente utilizando otro medio de pago. |
99996 | La operación fué rechazada por el medio de pago porque el monto ingresado es inválido. |
99997 | Lo sentimos, en este momento la operación no puede ser realizada. Por favor intentá más tarde. |
99998 | Tu tarjeta no autorizó tu compra. Iniciala nuevamente utilizando otro medio de pago. |
99999 | Tu compra no pudo realizarse. Iniciala nuevamente utilizando otro medio de pago. |
**Id mensaje** | **Descripción** |
98001 | ERROR: El campo CSBTCITY es requerido |
98002 | ERROR: El campo CSBTCOUNTRY es requerido |
98003 | ERROR: El campo CSBTCUSTOMERID es requerido |
98004 | ERROR: El campo CSBTIPADDRESS es requerido |
98005 | ERROR: El campo CSBTEMAIL es requerido |
98006 | ERROR: El campo CSBTFIRSTNAME es requerido |
98007 | ERROR: El campo CSBTLASTNAME es requerido |
98008 | ERROR: El campo CSBTPHONENUMBER es requerido |
98009 | ERROR: El campo CSBTPOSTALCODE es requerido |
98010 | ERROR: El campo CSBTSTATE es requerido |
98011 | ERROR: El campo CSBTSTREET1 es requerido |
98012 | ERROR: El campo CSBTSTREET2 es requerido |
98013 | ERROR: El campo CSPTCURRENCY es requerido |
98014 | ERROR: El campo CSPTGRANDTOTALAMOUNT es requerido |
98015 | ERROR: El campo CSMDD7 es requerido |
98016 | ERROR: El campo CSMDD8 es requerido |
98017 | ERROR: El campo CSMDD9 es requerido |
98018 | ERROR: El campo CSMDD10 es requerido |
98019 | ERROR: El campo CSMDD11 es requerido |
98020 | ERROR: El campo CSSTCITY es requerido |
98021 | ERROR: El campo CSSTCOUNTRY es requerido |
98022 | ERROR: El campo CSSTEMAIL es requerido |
98023 | ERROR: El campo CSSTFIRSTNAME es requerido |
98024 | ERROR: El campo CSSTLASTNAME es requerido |
98025 | ERROR: El campo CSSTPHONENUMBER es requerido |
98026 | ERROR: El campo CSSTPOSTALCODE es requerido |
98027 | ERROR: El campo CSSTSTATE es requerido |
98028 | ERROR: El campo CSSTSTREET1 es requerido |
98029 | ERROR: El campo CSMDD12 es requerido |
98030 | ERROR: El campo CSMDD13 es requerido |
98031 | ERROR: El campo CSMDD14 es requerido |
98032 | ERROR: El campo CSMDD15 es requerido |
98033 | ERROR: El campo CSMDD16 es requerido |
98034 | ERROR: El campo CSITPRODUCTCODE es requerido |
98035 | ERROR: El campo CSITPRODUCTDESCRIPTION es requerido |
98036 | ERROR: El campo CSITPRODUCTNAME es requerido |
98037 | ERROR: El campo CSITPRODUCTSKU es requerido |
98038 | ERROR: El campo CSITTOTALAMOUNT es requerido |
98039 | ERROR: El campo CSITQUANTITY es requerido |
98040 | ERROR: El campo CSITUNITPRICE es requerido |
98101 | ERROR: El formato del campo CSBTCITY es incorrecto |
98102 | ERROR: El formato del campo CSBTCOUNTRY es incorrecto |
98103 | ERROR: El formato del campo CSBTCUSTOMERID es incorrecto |
98104 | ERROR: El formato del campo CSBTIPADDRESS es incorrecto |
98105 | ERROR: El formato del campo CSBTEMAIL es incorrecto |
98106 | ERROR: El formato del campo CSBTFIRSTNAME es incorrecto |
98107 | ERROR: El formato del campo CSBTLASTNAME es incorrecto |
98108 | ERROR: El formato del campo CSBTPHONENUMBER es incorrecto |
98109 | ERROR: El formato del campo CSBTPOSTALCODE es incorrecto |
98110 | ERROR: El formato del campo CSBTSTATE es incorrecto |
98111 | ERROR: El formato del campo CSBTSTREET1 es incorrecto |
98112 | ERROR: El formato del campo CSBTSTREET2 es incorrecto |
98113 | ERROR: El formato del campo CSPTCURRENCY es incorrecto |
98114 | ERROR: El formato del campo CSPTGRANDTOTALAMOUNT es incorrecto |
98115 | ERROR: El formato del campo CSMDD7 es incorrecto |
98116 | ERROR: El formato del campo CSMDD8 es incorrecto |
98117 | ERROR: El formato del campo CSMDD9 es incorrecto |
98118 | ERROR: El formato del campo CSMDD10 es incorrecto |
98119 | ERROR: El formato del campo CSMDD11 es incorrecto |
98120 | ERROR: El formato del campo CSSTCITY es incorrecto |
98121 | ERROR: El formato del campo CSSTCOUNTRY es incorrecto |
98122 | ERROR: El formato del campo CSSTEMAIL es incorrecto |
98123 | ERROR: El formato del campo CSSTFIRSTNAME es incorrecto |
98124 | ERROR: El formato del campo CSSTLASTNAME es incorrecto |
98125 | ERROR: El formato del campo CSSTPHONENUMBER es incorrecto |
98126 | ERROR: El formato del campo CSSTPOSTALCODE es incorrecto |
98127 | ERROR: El formato del campo CSSTSTATE es incorrecto |
98128 | ERROR: El formato del campo CSSTSTREET1 es incorrecto |
98129 | ERROR: El formato del campo CSMDD12 es incorrecto |
98130 | ERROR: El formato del campo CSMDD13 es incorrecto |
98131 | ERROR: El formato del campo CSMDD14 es incorrecto |
98132 | ERROR: El formato del campo CSMDD15 es incorrecto |
98133 | ERROR: El formato del campo CSMDD16 es incorrecto |
98134 | ERROR: El formato del campo CSITPRODUCTCODE es incorrecto |
98135 | ERROR: El formato del campo CSITPRODUCTDESCRIPTION es incorrecto |
98136 | ERROR: El formato del campo CSITPRODUCTNAME es incorrecto |
98137 | ERROR: El formato del campo CSITPRODUCTSKU es incorrecto |
98138 | ERROR: El formato del campo CSITTOTALAMOUNT es incorrecto |
98139 | ERROR: El formato del campo CSITQUANTITY es incorrecto |
98140 | ERROR: El formato del campo CSITUNITPRICE es incorrecto |
98201 | ERROR: Existen errores en la información de los productos |
98202 | ERROR: Existen errores en la información de CSITPRODUCTDESCRIPTION los productos |
98203 | ERROR: Existen errores en la información de CSITPRODUCTNAME los productos |
98204 | ERROR: Existen errores en la información de CSITPRODUCTSKU los productos |
98205 | ERROR: Existen errores en la información de CSITTOTALAMOUNT los productos |
98206 | ERROR: Existen errores en la información de CSITQUANTITY los productos |
98207 | ERROR: Existen errores en la información de CSITUNITPRICE de los productos |
Version del Plugin | Estado | Versiones Compatibles |
---|---|---|
v1.7.x - v1.9.x | Stable (Current version) | Community Edition 1.6.x - 1.9.x Enterprise Edition 1.11.x - 1.14.x |
Click on the links above for instructions on installing and configuring the module.