我正在使用Live PayPal通过微支付测试我的IPN处理程序,我想知道当用户点击我的PayPal“立即购买”按钮时如何检测选择了哪个选项 . 我查了很多地方,发现了相互矛盾的文档和指导 .

基于另一个StackOverflow线程,我使用“立即购买”按钮将下面的最后4个隐藏元素添加到ASP.NET页面上的SELECT下拉选项中:

<input type="hidden" runat="server" name="hosted_button_id" value="WYUM54ACPKUH6" id="hosted_button_id"/>
<input type="hidden" name="on0" value="SubType"/>SubType
<select name="os0">
    <option value="S10">Standard (10 users) $0.04 USD</option>
    <option value="ENT">Enterprise (unlimited) $0.05 USD</option>
</select>
<input type="hidden" name="option_select0" value="S10"/>
<input type="hidden" name="option_select1" value="ENT"/>
<input type="hidden" name="option_amount0" value="0.04" />
<input type="hidden" name="option_amount1" value="0.05" />

这些都没有被回复 . 在一个特定的测试用例中,我以0.04美元的价格购买了“标准”选项,并将从PayPal发回到我网站的表单变量转出,这里是唯一接近我要求的内容:

option_name1 = SubType
option_selection1 = S10
payment_gross = 0.04

我读过的主题和我读过的文章强调了OPTION元素的命名约定以及相应隐藏元素的名称和值,如上所示 . 是的 - 我的测试表明关于用户(即我)做出的选择会回发不同的事情 .

一个具体的事情是,当它看起来应该是0时,为什么后缀是1(因为第一个选择它应该相对于0) . 有没有人可以澄清期待什么?