Metodo de pago Servired para Magento

Estado
Cerrado para nuevas respuestas

OSdave

Super Moderador
Miembro del equipo
si, la verdad es que si: dos pedidos son confusos.
Pero tampoco he probado la extensión de servired, solo estoy estudiando el modus operandi de magento. Me queda poco para la traducción del user guide, despues estudiare más en detalles estos modulos.
 

erossn

Nuevo usuario
Una pregunta...
Cuando elegimos el método de pago para servired y a continuacion hacemos el pedido, nos redirige a la página de pago de servired, pero en ese momento, realicemos el pago o no, el pedido ya está hecho... y supongo que no debería... ¿O estoy equivocado?

El problema de esto es que hacemos el pedido, después no hacemos el pago y el pedido está hecho igualmente...
Esa es la manera de trabajar de magento, de hecho, si ni siquiera llegamos al metodo de pago, el pedido esta hecho. Queda en el administrador darlo como cancelado, enviado, en espera, o lo que sea.
 

erossn

Nuevo usuario
Como decía antes, con este problema, si hacemos un pedido por servired pero en el momento de pagar no lo hacemos, el pedido aparece en nuestros pedidos como pendiente pero no tenemos la opción de pagarlo o de cancelarlo y si volvemos a hacer el pedido vamos a tener dos pedidos, lo que puede ocasionar confusión a un cliente, tanto experimentado como no... no crees?
Aca el tema es que en el caso de que el cliente siga adelante con el pedido pero no pague, quedara como pendiente, y debera ponerse en contacto con el admin para, o bien depositar "manualmente" en la cuenta, o re-ordenar el pedido y decirle al administrador que cancele el pedido anterior. No siempre va a ser asi, es cuestion de que el cliente se de cuenta de que no pago.. que es algo obvio. De todas formas, por cada pedido, el administrador tiene que entrar en accion, y si ve en su panel de servired (en este caso) que ese pedido no fue pagado, correspondera que se ponga en contacto con el cliente avisandole que no pago, y pedirle que re ordene el pedido pero poniendo datos validos
 

moldava

Miembro
Esa es la manera de trabajar de magento, de hecho, si ni siquiera llegamos al metodo de pago, el pedido esta hecho. Queda en el administrador darlo como cancelado, enviado, en espera, o lo que sea.
Yo no creo, como comentas, que esta sea la forma de trabajar de Magento. Solo hay que ver cómo funciona el Pago con Paypal Standard. Si ocurre un error o cancelación, el proceso de confirmación de pedido se cancela y los productos vuelven al carrito. Creo que el metodo de pago Servired debe funcionar igual. Lo interesantes es quitar trabajo al administrador ya que es un modo de pago automátizado y no acarrear más trabajo de verificación de pedidos "colgados" y pago posterior por transferencia.
 

defcon2

Nuevo usuario
RE:Nueva versión de la extensión

Yo no creo, como comentas, que esta sea la forma de trabajar de Magento. Solo hay que ver cómo funciona el Pago con Paypal Standard. Si ocurre un error o cancelación, el proceso de confirmación de pedido se cancela y los productos vuelven al carrito. Creo que el metodo de pago Servired debe funcionar igual. Lo interesantes es quitar trabajo al administrador ya que es un modo de pago automátizado y no acarrear más trabajo de verificación de pedidos "colgados" y pago posterior por transferencia.
erossn tiene en parte razon, esta semana me pondre a buscar la forma de pasarle una url de cancelacion y de finalizar a magento. Pero de todas formas, si el usuario cierra la ventana Servired no envia a ningun lado, ni da error de cancelado ni nada, asi que en ese caso no podremos hacer que los productos salgan del carrito.

Pero solo por preguntar: ¿No creen que, si el usuario cierra el metodo de pago sin que haya finalizado, este espere que no hayan productos en el carrito? Es decir, el usuario que cierre el metodo de pago sin finalizar obviamente va a estar esperando que algo no termine bien. Si no es asi, y alguien puede ayudarme para que esto no ocurra, bienvenida sea esa mano.

Saludos!
 

Ruben Divall

Nuevo usuario
Pero solo por preguntar: ¿No creen que, si el usuario cierra el metodo de pago sin que haya finalizado, este espere que no hayan productos en el carrito? Es decir, el usuario que cierre el metodo de pago sin finalizar obviamente va a estar esperando que algo no termine bien. Si no es asi, y alguien puede ayudarme para que esto no ocurra, bienvenida sea esa mano.
Llevo pensando eso durante un tiempo pero tampoco veo claro como hacerlo.

Lo ideal sería interactuar con el usuario si se sale del recorrido natural de checkout -> servired -> confirmación en magento mediante algún javascript. Metido de forma rudimentaria y "fea" a través de algún iframe.

Es decir se podría hacer algo cómo:
Magento -> Checkout -> iframe (javascript no cerrar ventana + servired).

Claro que sólo funcionaría con el 99% de los usuarios (que tienen javascript).
 
Última edición:

erossn

Nuevo usuario
Llevo pensando eso durante un tiempo pero tampoco veo claro como hacerlo.

Lo ideal sería interactuar con el usuario si se sale del recorrido natural de checkout -> servired -> confirmación en magento mediante algún javascript. Metido de forma rudimentaria y "fea" a través de algún iframe.

Es decir se podría hacer algo cómo:
Magento -> Checkout -> iframe (javascript no cerrar ventana + servired).

Claro que sólo funcionaría con el 99% de los usuarios (que tienen javascript).
Sermepa en su documentacion aclara que si el usuario cierra la ventana antes de realizar el pago, el sistema no enviara ninguna aviso, si alguien puede ayudar a enviar cancelado o algo en el caso de que el usuario cierre la ventana, bienvenido sea
 

gmb

Super Moderador
Miembro del equipo
Yo creo que no hay forma de que el sistema se de cuenta de que el usuario ha salido de la web, y que envie en ese caso un mensaje de cancelación. Al menos no creo que sea posible ni con iframe, ni con javascript.

La única solución que veo es que de alguna manera y con los datos de las sesiones (o cookies) de los usuarios, haya una cron (tarea) cada cierto tiempo comprueba los pedidos que se han quedado colgados y los elimine o simplemente que avise al administrador...

Haber si salimos de esta... alguno más??
 

erossn

Nuevo usuario
De hecho, con javascript si se puede hacer con el metodo onclose, pero de todas formas eso ya corre por parte de servired, y no por parte de defcon2 como programador
 

azul

Nuevo usuario
Oyes, como va eso ¿la extension funciona pa 1.1.3 o es que me lo he instalao mal?
Saludos es que me da este error:

Failed to download magento-community/Payment_Servired within preferred state "stable", latest release is version 1.0.4, stability "beta", use "channel://connect.magentocommerce.com/community/Payment_Servired-1.0.4" to install
Cannot initialize 'channel://connect.magentocommerce.com/community/Payment_Servired', invalid or missing package file
Install Errors
Package "channel://connect.magentocommerce.com/community/Payment_Servired" is not valid
PEAR ERROR: install failed
 

snamor

Nuevo usuario
Hola a todos!

Aunque llevo tiempo consultando el foro, éste es mi primer mensaje. Primero de todo felicitar al autor/es del modulo para Servired, ya que hacia tiempo que todos lo pedíamos a gritos.

A azul, para instalar el modulo, debes poner magento-community/Payment_Servired-1.0.4 . Así se salta la restricción de instalar solo módulos en estado estable.

He tenido algunos problemas por hacer funcionar el modulo. Primero de todo cuando en el archivo Standard.php se hace
$transtype = $this->getConfigData('merchanttransactiontype');
en mi caso como el valor que tengo configurado es 0 (Autorización) cuando $transtype se concatena en $mensaje es como si no tuviera valor. Tuve que poner
if(($transtype ==0) || ($transtype =="")|| ($transtype ==NULL)){
$transtype="0";
}
antes de concatenar para que el mensaje se generara correctamente.
Mi siguiente problema fue que cuando el programa hace
$digest1 = $sha->hash_string($message);
$signature = $sha->hash_to_string( $digest1 );
me devolvía un código de hash SHA1 incorrecto.
Para que funcionara use la función sha1 que tiene el PHP i quedo así:
$signature=sha1($message);
Despues de eso todo funciono como la seda.
No se si alguien más se habrá encontrado con el mismo problema, pero a mi esos dos cambios me lo solucionaron.
Ademas ahora tengo otro pequeño problema. Al hacer el pago correctamente por la pasarela Servired redirijo a index.php/checkout/onepage/success/, pero no me envía email de confirmación del pedido al cliente, os pasa lo mismo?
Venga animo y a ver si entre todos acabamos de pulir las pequeñas pegas que le quedan a este modulo.
 

erossn

Nuevo usuario
A azul, para instalar el modulo, debes poner magento-community/Payment_Servired-1.0.4 . Así se salta la restricción de instalar solo módulos en estado estable.
En esta parte no se si te equivocas porque no lo probe, pero si no puedes de esa manera, deberias ir settings y modificar la opcion, donde dice preferencia de estado, pasarla de stable a beta


He tenido algunos problemas por hacer funcionar el modulo. Primero de todo cuando en el archivo Standard.php se hace
$transtype = $this->getConfigData('merchanttransactiontype');
en mi caso como el valor que tengo configurado es 0 (Autorización) cuando $transtype se concatena en $mensaje es como si no tuviera valor. Tuve que poner
if(($transtype ==0) || ($transtype =="")|| ($transtype ==NULL)){
$transtype="0";
}
antes de concatenar para que el mensaje se generara correctamente.
Crei que el problema estaba solucionado. Ahora veo que no cuando se concatena al mensaje, mas abajo podras notar que lo que hice fue esto:
PHP:
'Ds_Merchant_TransactionType'		=>	(int)$this->getConfigData('merchanttransactiontype'),
Por eso podrias poner:
PHP:
$transtype = (int)$this->getConfigData('merchanttransactiontype');
Eso solucionaria eventuales cambios mas adelante


Mi siguiente problema fue que cuando el programa hace
$digest1 = $sha->hash_string($message);
$signature = $sha->hash_to_string( $digest1 );
me devolvía un código de hash SHA1 incorrecto.
Para que funcionara use la función sha1 que tiene el PHP i quedo así:
$signature=sha1($message);
La verdad que venia funcionando y sin problemas, tal vez era por el problema de que no se concatenaba el 0 de autorizacion

Ademas ahora tengo otro pequeño problema. Al hacer el pago correctamente por la pasarela Servired redirijo a index.php/checkout/onepage/success/, pero no me envía email de confirmación del pedido al cliente, os pasa lo mismo?
La verdad que a mi el mail me lo envia va bien


Venga animo y a ver si entre todos acabamos de pulir las pequeñas pegas que le quedan a este modulo.
Gracias, y ese es el animo que se necesita para tener esta extension en estable!!
 

defcon2

Nuevo usuario
1.0.7 corrige ese y otros errores
 

vertical

Nuevo usuario
Hola a tod@s,

Alguien podría hacer un pequeño resumen de como se encuentra el módulo a día de hoy?

- De momento es compatible hasta la versión 1.1.4 de Magento?
- Es factible su uso en producción?
- Y en caso de que sea factible su uso en producción, pros y contras?

Muchas gracias y ánimo a toda la comunidad que esta participando en el desarrollo de este módulo!!!
 

indesai

Nuevo usuario
Hola a todos!


antes de concatenar para que el mensaje se generara correctamente.
Mi siguiente problema fue que cuando el programa hace
$digest1 = $sha->hash_string($message);
$signature = $sha->hash_to_string( $digest1 );
me devolvía un código de hash SHA1 incorrecto.
Para que funcionara use la función sha1 que tiene el PHP i quedo así:
$signature=sha1($message);
Despues de eso todo funciono como la seda.
No se si alguien más se habrá encontrado con el mismo problema, pero a mi esos dos cambios me lo solucionaron.
Ademas ahora tengo otro pequeño problema. Al hacer el pago correctamente por la pasarela Servired redirijo a index.php/checkout/onepage/success/, pero no me envía email de confirmación del pedido al cliente, os pasa lo mismo?
Venga animo y a ver si entre todos acabamos de pulir las pequeñas pegas que le quedan a este modulo.
SOLUCIÓN RÁPIDA
Añadir que lo he probado y no me ha funcionado pero si se hace un strtoupper($signature) .
 

indesai

Nuevo usuario
ERROR a la vuelta del TPV ( en entorno de pruebas ). Despues de hacer un pedido , al volver a la tienda , me da el siguiente error , a parte de no cerrar-me el pedido. ¿ Alguien lo ha solucionado ?

Notice: Undefined index: Ds_Amount in /home/theoffpr/domains/dominio.com/public_html/app/code/local/Mage/Servired/controllers/StandardController.php on line 106
Trace:
#0 /home/theoffpr/domains/dominio.com/public_html/app/code/local/Mage/Servired/controllers/StandardController.php(106): mageCoreErrorHandler(8, 'Undefined index...', '/home/theoffpr/...', 106, Array)
#1 /home/theoffpr/domains/dominio.com/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(349): Mage_Servired_StandardController->successAction()
#2 /home/theoffpr/domains/theoffprice.com/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(163): Mage_Core_Controller_Varien_Action->dispatch('success')
#3 /home/theoffpr/domains/dominio.com/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(174): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#4 /home/theoffpr/domains/dominio.com/public_html/app/Mage.php(447): Mage_Core_Controller_Varien_Front->dispatch()
#5 /home/theoffpr/domains/dominio.com/public_html/index.php(52): Mage::run()
#6 {main}
 

cbccharlie

Nuevo usuario
Ds_Merchant_MerchantURL

Hola,

Alguien sabe que url tenemos que poner en el campo Ds_Merchant_MerchantURL?

Quiero probarlo en el entorno de prueba...

Muchas gracias!
Un saludo
 

defcon2

Nuevo usuario
Pueden probar ahora, mejore la firma aplicando el metodo sha1 de php, y agregando la opcion en el back para elegir entre completo y completo ampliado
 
Estado
Cerrado para nuevas respuestas
Arriba