Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Unfortunately this is a hardcoded restriction in the Mage_Paypal code. </p> <p>You can see in <code>Mage_Sales_Model_Service_Quote::submitAll()</code> that it executes <code>submitNominalItems()</code> which contains: </p> <pre><code> $this-&gt;_validate(); $this-&gt;_submitRecurringPaymentProfiles(); $this-&gt;_inactivateQuote(); $this-&gt;_deleteNominalItems(); </code></pre> <p>So, it kills the Cart after submitting nominal items. I'm not exactly sure why it does that, but I assume it's due to the way that subscriptions are created at Paypal.</p> <p>Here is the code that prevents adding items to a cart that contains nominals in <code>Mage_Sales_Model_Quote::addItem()</code>: </p> <pre><code> if ($item-&gt;isNominal() &amp;&amp; $this-&gt;hasItems() || $this-&gt;hasNominalItems()) { Mage::throwException(Mage::helper('sales')-&gt;__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.')); } </code></pre> <p>I'm working on using Magento's Recurring Profiles for other payment providers at the moment (its a background task: <a href="https://stackoverflow.com/q/5190747/336905">Magento Recurring Profiles with non-Paypal payment method</a>) and it is possible to checkout both nominal (aka subscription) and real products at the same time, but it does make it quite a bit more complex. </p> <p>If this is a big deal, it should be possible to refactor the Mage_Paypal code to do this, but it's a complicated task that can't really be answered in a single post.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload