Paypal 立即购买按钮如何在 ipn 侦听器中捕获价格/选项下拉数据
Posted
技术标签:
【中文标题】Paypal 立即购买按钮如何在 ipn 侦听器中捕获价格/选项下拉数据【英文标题】:Paypal buy now button how to capture price/option dropdown data in ipn listener 【发布时间】:2012-12-10 15:26:03 【问题描述】:我有一个带有下拉菜单的 paypal pay now 按钮,用户可以在其中选择 2 个不同的事件。
如何捕捉下拉列表中选择的内容?我当前的表单不起作用。
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="TFMANJVCMFZX4">
<input type="hidden" name="option_name1" value="Dinner/Show">
<input type="hidden" name="notify_url" value="http://mysite.com/ipn">
<label>Dinner/Show</label>
<select name="os0" id="paypalDropdown">
<option value="Meal + Event">Meal + Event $15.00 USD</option>
<option value="Event Only">Event Only $10.00 USD</option>
</select>
<input type="hidden" name="currency_code" value="USD">
<input id="paypalButton" type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" >
<img border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >
更具体地说,我正在使用这个库 - https://github.com/orderly/codeigniter-paypal-ipn,我正在记录变量,所有 option_name
和 option_selection
变量都是空白的
【问题讨论】:
【参考方案1】:onchange="myFunction(this)"
这是整个对象,在javascript中可以这样访问
function myFunction(obj)
var dropDownValue = obj.value;
编辑: 糟糕,只需阅读您的代码。 可以像这样在 php 中访问选择值 :)
echo $_POST['os0']; // the select fields name
【讨论】:
用重要信息更新了我的问题。【参考方案2】:如果您有 IPN,那么 PayPal 将调用您为这一刻准备的 URL 并在付款后,paypal 将发送您需要的所有数据。从地址和货币到他购买的物品的名称和价格。所以你可以在那个时候得到它们。 否则你必须编写一个 javascript 来捕获选定的值并通过 ajax 将其发送到其他地方......
【讨论】:
【参考方案3】:您似乎正在尝试使用托管的 paypal 按钮,但尚未在您的个人资料中定义任何配置。
您可能会收到此错误消息:“由于卖家网站出现问题,PayPal 无法处理此交易”
没有必要在上面的表格中捕获值,因为这是通过在 paypal 帐户上的配置来处理的,如下所示:
-
登录您的贝宝帐户
转到个人资料-> 销售偏好-> 我保存的按钮
编辑示例按钮(添加包含价格和选项的下拉菜单,例如餐点 + 活动 15.00 美元、notify_url 等)
保存更改
选择自动生成的表单代码,无需任何更改即可使用
【讨论】:
我没有收到您所说的错误消息。事务工作得很好,但我没有在我的数据库日志中收到 option_name 和 option_selection0。数据库日志是我在问题中发布的库的一部分。 好的。这意味着您的表单工作正常。你验证过IPN吗?您可以查看历史记录以检查它是否具有以下内容:option_name1=Dinner/Show option_selection1=Meal + Event。另外,您使用的是活动记录还是教义。如果是学说,那么实施似乎不支持这些领域 我只是使用标准的活动记录,而不是教条。【参考方案4】:要使用字段 os0,您还必须使用字段 on0
地点:
on0 = 第一个选项字段名称。如果省略,则不会将任何变量传回给您。
.
-祝你好运。
【讨论】:
感谢您指出这一点,但实际上我曾经使用过 on0 字段,但它仍然无法正常工作。 所以这意味着你落后了 2 步...现在请添加它,我们可以尝试解决问题。 另外,在 IPN 成功后,通过电子邮件将 var_dump() 数据发送给自己,您将知道收到了什么,没有收到什么。以上是关于Paypal 立即购买按钮如何在 ipn 侦听器中捕获价格/选项下拉数据的主要内容,如果未能解决你的问题,请参考以下文章
使用非托管 PayPal 按钮时如何使用 IPN 验证 PayPal 数据