¿Pago de una página roto en 1.8?

12

Nuestro pago parece estar roto y más personas parecen tener el problema con magento 1.8. Simplemente no hace nada después de presionar el botón continuar en el paso 4. Ejecutamos PHP 5.4.19 y lo hemos probado en chromium v28, firefox v22, safari v5.1.

No hay errores en los registros y es lo mismo en el tema predeterminado.

Spydon
fuente

Respuestas:

15

Encontré la solución aquí: http://www.magentocommerce.com/boards/viewthread/441003/#t460203

Vaya a / app / design / frontend / base / default / template / checkout / onepage / file payment.phtml ábralo, línea 36

<fieldset>
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

agregar id al conjunto de campos

<fieldset id="checkout-payment-method-load">
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

Gracias a hungtk2707!

Spydon
fuente
2
Si no ha realizado ninguna modificación de código y sus módulos de terceros están a la altura, la mayoría de los problemas de actualización provienen de plantillas y diseños desarrollados para versiones anteriores. A menudo se trata de trabajar a través de las plantillas en el área que falla y verificar las diferencias de código entre lo que está en su plantilla y lo que está en la plantilla base recién instalada. En los diseños, a menudo se busca un bloque movido, un nuevo bloque que debe agregarse o similar. Como muestra su publicación, agregaron una identificación al conjunto de campos que el javascript necesita para referencia para pasar al siguiente paso.
Fiasco Labs
2
Acababa de instalar una versión limpia de magento 1.8.1, y esto parece ser un error en el código. Debe incluirse en el archivo base de phtml.
Masu
1
me salvas la vida + 1
Ram Sharma
5

También tuve el problema de pago y encontré la solución:

En /template/checkout/onepage/review/info.phtml (al final)

reemplazar

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

por

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

Debería resolver su problema de pago.

Mhammed Mouhcine Guessous
fuente
1
Parece que su código de muestra está incompleto. Edite para incluir el formato de Markdown adecuado.
Benmarks
Esto resolvió mi problema donde al presionar confirmar obtendría un 302 de regreso y el formulario no se enviaría.
woot586
2

Si actualiza su Magento (a 1.9.1) y la plantilla de pago se personaliza y también se cambia el xml.

El aspecto de esto:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>

El problema es checkout / onepage / payment / method.phtml, estos datos deben cargarse mediante una solicitud ajax. Reemplace esto con checkout / onepage / payment / info.phtml, así:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>
Tantuss
fuente
1

si su plantilla no tiene review = en la parte inferior de info.phtml simplemente agregue

</script>
<script type="text/javascript">
//<![CDATA[
    review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder',       array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this-  >getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
//]]>
</script>

al final de este archivo, p. ej ./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml

Andy
fuente
1

Tuve el mismo problema con rwd (iphone) storeview y resolví el primer problema con

pero luego aún tuve un problema (el botón continuar no funciona) La solución fue recopilar info.phtml de / app / design / frontend / default / iphone / template / checkout / onepage / review

He tomado de una antigua versión de trabajo.

El hecho extraño es que todo funcionó bien en la vista de escritorio.

Luca Pasqualotto
fuente