【问题标题】:Paypal IPN Custom fieldPaypal IPN 自定义字段
【发布时间】:2012-07-23 13:48:01
【问题描述】:

我知道我可以使用 IPN 和 $_POST['custom'] 发送自定义字段 但是我可以用上传的文件做到这一点吗?更具体地说是上传的图片?

如果我有两个自定义字段怎么办?我以前用过这样的东西:

<input type="hidden" name="custom" value="<?php echo $a.'|'.$b ?>"/>

但这只是文字!现在我想上传一个文件,我也有自定义文本,然后我想得到它。

这可能吗?会是什么样子?

谢谢!

【问题讨论】:

  • 您绝对不允许在该字段中放置文件,但作为下面详细信息的优秀答案,您可以跟踪该文件的 where 位置,并且稍后再调用。它甚至可以是关于可以在何处找到文件的 URL。

标签: paypal paypal-ipn


【解决方案1】:

我认为不可能按照您描述的方式进行,但这是我过去使用过的替代方法。

  1. 不要将包含上传文件的表单发布到 PayPal,而是将其发布到您的网站,然后将该上传的文件和任何其他自定义数据存储在数据库中(或您选择的任何其他存储方式它)。为该数据分配一个 ID。

  2. 现在将用户重定向到包含基本相同表单的页面,除了应该隐藏输入字段,并且表单将发布到 PayPal。使用上一篇文章中的数据以编程方式填写该表单,并使用您分配给自​​定义数据的 id 填写“自定义”字段。该页面还包含这样的 JavaScript 语句(在表单后的底部,以确保在加载表单之前它不会执行)...

    <script type="text/javascript">
        document.forms["paypalform"].submit();
    </script>
    

    ...在页面加载时自动提交表单。如果用户禁用了 JavaScript,保留提交按钮(如果需要,可以将其设置为链接)仍然是一个好主意。它可能会说“如果您在 10 秒内没有被重定向到 PayPal,请单击此处”。您还可以在页面上添加另一条消息,例如“重定向到 PayPal”。

  3. 现在,当您从 PayPal 获取该交易的 PDT 或 IPN 信息时,“自定义”字段将包含您之前分配给数据的 ID。只需从存储数据的任何位置检索数据即可。

我以前在 ASP.NET 中做过这个,我认为它在 PHP(服务器端部分)中也能正常工作,但我不能肯定。

注意:“自定义”字段最多只能包含 256 个字符。

【讨论】:

  • 谢谢!使用 cURL 怎么样? Paypal 会接受吗?动态提交paypal表单。或者我只是编辑我的贝宝表单以允许上传文件,但是当通过 javascript 和 ajax 单击提交按钮时,有一个输入字段填充了 id。
  • @user924387 我不确定 cURL,因为我没有使用它。在我对问题的解决方案中,您实际上是在动态提交表单,但问题是您必须从用户的浏览器(使用 JavaScript)提交它,否则用户无法重定向到 PayPal。您不能只从服务器 POST 到 PayPal。无论如何,都不是 PayPal Payments Standard。您必须使用 Express Checkout 或 Website Payments Pro。
  • @user924387 包含文件上传器的表单必须发布到您的网站,而不是 PayPal。您可以在单独的表单中使用 jQuery AJAX 文件上传插件来上传文件,并将 PayPal 表单放在同一页面上,但需要单独提交(正如我在回答中所说)。跨度>
猜你喜欢
  • 2014-02-27
  • 2013-01-20
  • 2014-04-19
  • 2020-06-04
  • 2011-11-28
  • 2011-08-27
  • 2017-01-22
  • 1970-01-01
相关资源
最近更新 更多