经典 API NVP 交易详情调用中未抓取来自 PayPal 按钮支付的文本字段数据

Posted

技术标签:

【中文标题】经典 API NVP 交易详情调用中未抓取来自 PayPal 按钮支付的文本字段数据【英文标题】:Text field data from PayPal button payment is not grabbed in Classic API NVP transaction details call 【发布时间】:2013-07-23 07:00:40 【问题描述】:

我正在使用来自List of PayPal transactions 的代码通过 NVP 调用 GetTransactionDetails

PayPal 按钮的 html 看起来像

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="XXXXXXXXXXXXX"> PLACEHOLDER VALUE
<table>
<tr><td><input type="hidden" name="on0" value="Tier Selection">Tier Selection</td></tr><tr><td><select name="os0">
<option value="Tier 1">Tier 1 $15.00 USD</option>
<option value="Tier 2">Tier 2 $30.00 USD</option>
<option value="Tier 3">Tier 3 $50.00 USD</option>
<option value="Tier 4">Tier 4 $200.00 USD</option>
<option value="Tier 5">Tier 5 $500.00 USD</option>
<option value="Tier 6">Tier 6 $1,000.00 USD</option>
</select> </td></tr>
<tr><td><input type="hidden" name="on1" value="Name for Product">Name for Product</td></tr><tr><td><input type="text" name="os1" maxlength="200"></td></tr>
<tr><td><input type="hidden" name="on2" value="Forum Email Address">Forum Email Address</td></tr><tr><td><input type="text" name="os2" maxlength="200"></td></tr>
</table>
<input type="hidden" name="currency_code" value="USD">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" >
<img  border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif"  >
</form>

NVP 调用返回(在 parse_str 之后)

L_OPTIONSNAME0 => Tier Selection
L_OPTIONSNAME1 => Name for Product
L_OPTIONSVALUE0 => Tier 1
L_OPTIONSVALUE1 => NAME
L_OPTIONS1NAME0 => Name for Product
L_OPTIONS1VALUE0 => NAME

“产品名称”数据返回两次,“论坛电子邮件地址”未返回。当我在 PayPal 网站上查看交易详情时,“论坛电子邮件地址”数据正确显示在项目标题下。另外,当我将交易导出到 CSV 时,“论坛电子邮件地址”数据没有被导出。

我计划编写一个脚本,使用 PayPal API 将“论坛电子邮件地址”数据自动添加到我网站上的私人论坛。

重复的名称/值条目是错误吗?

【问题讨论】:

【参考方案1】:

快速浏览一下您的代码,您似乎已经正确设置了所有内容。我不知道这个问题的任何错误。不过,我建议使用PayPal's Merchant Technical Support 开一张票,以便进一步调查,并在需要时为此提交错误。

【讨论】:

我的客户在ppmts.custhelp.com/app/ask 提交了一张票,但是在问题框中他们放置了一个指向此页面的链接作为参考,并且在确认电子邮件中它说 [链接已删除] 链接实际发送了吗? 如果你能提供票号我可以看看。否则,您应该能够登录并查看工单的详细信息,看看它是否仍然出现。 我终于收到了 PayPal 的回复。从本质上讲,他们说在 Classic API 和历史下载中只包含两个变量是“预期的功能”。技术支持人员表示,他们提交了一项功能请求以包含其他变量。我希望添加该功能。 作为解决方法,他们建议连接额外的变量或使用 IPN 将信息存储到数据库中。我现在已经实现了后者。

以上是关于经典 API NVP 交易详情调用中未抓取来自 PayPal 按钮支付的文本字段数据的主要内容,如果未能解决你的问题,请参考以下文章

Paypal Refund NVP API : 您无权退款此交易

沙盒中的经典 API NVP、经典 ASP DoDirectPayment

关于经典nvp API paypal的HTTP get和post方法

Paypal Sandbox ExpressCheckout NVP 未创建交易

如何在 Paypal API 中查看交易详情

Promise Catch 在 json rpc 调用中未收到错误