【问题标题】:Paypal return with produt id array带有产品 ID 数组的 Paypal 返回
【发布时间】:2014-02-16 10:40:40
【问题描述】:

我在我的网站上使用贝宝支付网关进行支付。

在这里我想要一个功能,比如我可以发送我想购买的产品 ID 列表。 成功付款后,我想要所有这些 id,以便我可以更新我的数据。 我不能使用 IPN,因为它已经用于其他站点。

下面是我的 paypal html 表单。

 <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
            <input type="hidden" name="cmd" value="_xclick">
            <input type="hidden" name="business" value="praveend06-facilitator@gmail.com">
            <input type="hidden" name="item_name" value="PAYMENT REASON">
            <input type="hidden" name="amount" value="10">
            <input type="hidden" name="quantity" value="1"> 
            <input type="hidden" name="no_shipping" value="0">
            <input type="hidden" name="no_note" value="1">
            <input type="hidden" name="currency_code" value="USD">
            <input type="hidden" name="lc" value="MX">
            <input type="hidden" name="bn" value="PP-BuyNowBF">
            <input type="hidden" name="notify_url" value="http://localhost/paypal/notify.php">
            <input type="hidden" name="return" value="http://localhost/paypal/success.php">
            <input type="hidden" name="rm" value="2">
            <input type="hidden" name="cbt" value="Return to The Store">
            <input type="hidden" name="cancel_return" value="http://localhost/paypal/fail.php">
            <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but6.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
            <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
        </form>

我在success.php中写了下面的代码 但它返回空白数组。即使我没有得到交易ID。

请帮助我实现这一目标。谢谢

【问题讨论】:

  • 我认为你不能使用localhost。您必须将其上传到服务器并尝试。
  • 它在本地主机上工作正常。我的系统已连接互联网。唯一的问题是获取帖子数据。

标签: php mysql paypal


【解决方案1】:

只有一个参数可用于网站支付标准的自定义数据,即“自定义”。

只需将自定义数据传入

在自定义数据中,首先将产品 ID 添加为逗号分隔的字符串,然后您将在成功付款后将其取回。

您可以通过 PayPal PDT (https://www.paypal.com/pdt/) 轮询或使用 PayPal IPN (https://www.paypal.com/ipn/) 获取 PayPal 发布给您的数据来检索“自定义”的值。

但是你已经提到你不能使用IPN。所以改用 PDT。

【讨论】:

    【解决方案2】:

    PDT 不是更新数据库的推荐方法。即使启用了自动返回,也不能保证用户会返回您的站点。在这些情况下,将永远无法到达返回页面,并且该代码将永远不会运行,从而使您的数据库没有所需的更新。

    您可以通过多个 PayPal 帐户使用 IPN。您只需要使用 notify_url 参数来指定要在特定结账时用于 IPN 的唯一 URL。

    在那张纸条上,我看到您已经在代码中包含了 notify_url 参数,但您使用的是 localhost。这是行不通的,因为它将是 PayPal 的服务器向该 URL 发送数据。因此,“localhost”是他们自己的服务器。

    出于测试目的,您需要做的是使用您的公共 IP 地址或设置一个域来解析您的 IP 地址,这样您就可以将其用作您的 IPN URL 而不是 localhost。

    那么,您可以根据需要在一个帐户中使用任意数量的不同 IPN URL。只需根据您设置的结帐将 notify_url 设置为您需要使用的任何一个即可。

    【讨论】:

      猜你喜欢
      • 2016-01-05
      • 2015-02-15
      • 2021-07-01
      • 2017-07-22
      • 2012-09-15
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多