Node Access Product Module (nap) - Really embarrassing error message
This error is thrown when an object is empty, and you attempt to determine the value of a property. In this case the following code is responsible:

 // Go through each of the products purchased.
  for ($i = 0; $i &lt; count($product_nodes); $i++) {
    // Easy referencing.
    $node = &amp;$product_nodes[$i];
    $settings = nap_get_nap_settings($node-&gt;nid); &lt;- Throws error


My guess is that $product_nodes is empty.

Try wrapping the for loop as follows:

 // Go through each of the products purchased.
  if (!empty($product_nodes)) {
    for ($i = 0; $i &lt; count($product_nodes); $i++) {
      // Easy referencing.
      $node = &amp;$product_nodes[$i];
      $settings = nap_get_nap_settings($node-&gt;nid);

      ..rest of loop code ...

    } //End of for loop
  }


This should work. You should also bring this up as an issue on the project page.