2010-07-23 16 views
8

que tienen un servicio de suscripción que la gente paga mensual para, por lo que he configurar un “producto virtual” con un perfil que se repite. Al mismo tiempo, quiero tenerlo para que puedan agregar diferentes productos de una sola vez. Para lograr esto, he intentado crear un "Producto incluido" con todos los diferentes productos de un solo uso y agregar el "Producto virtual" a ese "Producto incluido".recurrente perfil y lote sería

Sin embargo, cuando voy a la comprobación que dice “elemento nominal se puede comprar independiente solamente. Para continuar, elimine otros elementos de la cita. "¿Cómo permito que las personas se suscriban al servicio y compren los productos al mismo tiempo?

Nota: Estoy utilizando Paypal Website Payment Pro como mi cuenta de comerciante.

+0

Odio los golpes, pero ¿alguien? –

+0

Los comentarios no responden a su pregunta, pero las modificaciones sí lo hacen. Agregue información adicional si aún no ha resuelto este problema, o una respuesta si la tiene. Gracias. –

+0

qué versión de Magento estás usando? –

Respuesta

2

Por desgracia, esta es una restricción codificada en el código Mage_Paypal.

se puede ver en Mage_Sales_Model_Service_Quote::submitAll() que ejecuta submitNominalItems() que contiene:

$this->_validate(); 
    $this->_submitRecurringPaymentProfiles(); 
    $this->_inactivateQuote(); 
    $this->_deleteNominalItems(); 

Por lo tanto, mata al carro después de la presentación de artículos nominales. No estoy exactamente seguro de por qué lo hace, pero supongo que se debe a la forma en que se crean las suscripciones en Paypal.

Este es el código que impide añadir elementos a una cesta que contiene los nominales en Mage_Sales_Model_Quote::addItem():

if ($item->isNominal() && $this->hasItems() || $this->hasNominalItems()) { 
     Mage::throwException(Mage::helper('sales')->__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.')); 
    } 

estoy trabajando en el uso de los perfiles que se repiten de Magento para otros proveedores de pago en el momento (es una tarea en segundo plano: Magento Recurring Profiles with non-Paypal payment method) y es posible comprar productos nominales (también conocidos como suscripciones) y reales al mismo tiempo, pero lo hace un poco más complejo.

Si esto es un gran problema, debería ser posible refactorizar el código Mage_Paypal para hacer esto, pero es una tarea complicada que realmente no puede ser respondida en una sola publicación.

+0

Sí, parece que no hay una forma fácil de solucionar este problema :( –

+0

Hola, resolvió el problema, pero crea dos pedidos para el mismo producto. ¿Cómo podemos solucionar este problema? – Shivanand

3

Aquí está el comentario de código de Magento:

/** * Solución temporal para el proceso de compra: es demasiado peligroso para la compra de más de un elemento nominal * o una mezcla de nominal y no nominal artículos, aunque técnicamente posible. * * El problema es que actualmente se implementa como presentación secuencial de elementos nominales y el orden, con un clic. * Hace que sea lógicamente imposible hacer que el proceso de compra sea a prueba de fallas. * La solución adecuada es enviar los artículos uno por uno con la confirmación del cliente cada vez. */

En realidad se puede quitar el código de abajo:

if ($item->isNominal() && $this->hasItems() || $this->hasNominalItems()) { 
    Mage::throwException(Mage::helper('sales')->__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.')); 
} 

Magento todavía maneja múltiples productos nominales, sin embargo, que se utiliza con su propio riesgo.