Hi, hope someone can help. I have a bit of a doozy here and haven't found what I need by searching the forums.
I need to have customers log in, have the site capture details about the product delivery location, then use a paypal subscription to pay for the rental/lease of the item. Ideally if the payment notification email could contain the data collected, that'd be stellar.

What's the best way to do this?

I've currently got 4 products set up, and each product description has the paypal subscription button code in it, with input boxes added to the code. Here is a sample from one product...

Code:
<form name="_xclick" action="https://www.paypal.com/us/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="xxxxxxx##################">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" value="Single Post w Bro Box">
<input type="hidden" name="no_shipping" value="1">
<table>
  <tr>
    <td>
    <input type="hidden" name="on0" value="sprinkler">Underground Sprinkler?</td>
    <td>
    <select name="os0">
     <option value="Call">Required*
     <option value="Yes">Yes
     <option value="No">No
    </select></td>
  </tr>
  <tr>
<td>
    <input type="hidden" name="on1" value="dogfence">Underground Dog Fence?</td>
    <td>
    <select name="os1">
     <option value="Call">Required*
     <option value="Yes">Yes
     <option value="No">No
    </select></td>
  </tr>
<tr>
    <td>
    <input type="hidden" name="on2" value="officename" maxlength="100">Office Name:</td>
    <td>
    <input type="text" name="os2"></td>
<td>
    <input type="hidden" name="on3" value="email" maxlength="100">Email:</td>
    <td>
    <input type="text" name="os3"></td>
</tr>
<tr>
<td>
    <input type="hidden" name="on4" value="agent" maxlength="200">Agent Name:</td>
    <td>
    <input type="text" name="os4"></td>
<td>
    <input type="hidden" name="on5" value="cell" maxlength="11">Agent Cell#:</td>
    <td>
    <input type="text" name="os5"></td>
</tr>
<tr>
<td>
    <input type="hidden" name="on6" value="county" maxlength="50">County:</td>
    <td>
    <input type="text" name="os6"></td>
<td>
    <input type="hidden" name="on7" value="city" maxlength="50">City/Twsp:</td>
    <td>
    <input type="text" name="os7"></td>
</tr>
<tr>
<td>
    <input type="hidden" name="on8" value="address" maxlength="200">Street Address:</td>
    <td>
    <input type="text" name="os8"></td>
<td>
    <input type="hidden" name="on9" value="unit" maxlength="10">Unit#:</td>
    <td>
    <input type="text" name="os9"></td>
</tr>
<tr>
<td>
    <input type="hidden" name="on10" value="crossstreet" maxlength="200">Nearest Cross Street:</td>
    <td>
    <input type="text" name="os10"></td>
</tr>
<tr>
<td>
    <input type="hidden" name="on11" value="coordinates" maxlength="100">Map Coordinates:</td>
    <td>
    <input type="text" name="os11"></td>
<td>
    <input type="hidden" name="on12" value="king" maxlength="100">King:</td>
    <td>
    <input type="text" name="os12"></td>
</tr>
<tr>
<td>
    <input type="hidden" name="on13" value="special" maxlength="500">Special Instructions:</td>
    <td>
    <input type="text" name="os13"></td>
</tr>

</table>
<input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<input type="hidden" name="a3" value="45.50">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="Y">
<input type="hidden" name="src" value="1">
<input type="hidden" name="sra" value="1">
</form>
So when I'm logged in and click this button, my browser is directed to
http: // xxxxxxxxxxxxx.com/index.php?main_page=shopping_cart
and the shopping cart says it's empty.

Is there a better way to do this? The data I need to collect is similar on all 4 products, but the price is different.

Or if this is the best practice, what bit of code am I missing?