从Paypal IPN发回结果

时间:2016-10-13 16:22:39

标签: php sql paypal paypal-ipn

我已经关注了这个付费的IPN文档。创建了一个名为payment_notify.php的文件,它与在此处找到的内容完全相同:https://developer.paypal.com/docs/classic/ipn/ht_ipn/

我的付款方式设置为POST数据:https://www.sandbox.paypal.com/cgi-bin/webscr 我有我的pay pal沙盒商业帐户通知网址设置到我的网站url / payment_notify.php。

我的代码允许用户点击立即购买按钮,它将它们带到paypal登录屏幕,允许他们为产品“付款”,显示paypal屏幕说交易成功然后最终返回我的网站它什么都没给我。我尝试将paypal中的POST变量插入到我的数据库中,但没有任何反应。

我是paypal API的初学者,但是接下来是我的尝试:

MyGenericProgram.Exit();

然后是我的payment_notify文件:

<form action="<?php echo $paypal_url; ?>" method="post">
<!-- Identify your business so that you can collect the payments. -->
<input type="hidden" name="business" value="<?php echo $paypal_id; ?>"> 
<!-- Specify details about the item that buyers will purchase. -->
<input type="hidden" name="item_number" value="<?php echo $row['id'];?>">
<input type="hidden" name="item_name" value="<?php echo $row['credit_price'].": credits"; ?>">
<input type="hidden" name="amount" value="<?php echo $row['credit_price']; ?>">
<input type="hidden" name="currency_code" value="<?echo $row['currency'];?>">           
<!-- Specify URLs -->
<input type='hidden' name='cancel_return' value="<? echo 'http://www.$_SERVER[HTTP_HOST]/cancel.php';?>">
        <input type='hidden' name='return' value="<? echo 'http://www.$_SERVER[HTTP_HOST]/success.php';?>">
        <input type='hidden' name='notify_url' value="<? echo 'http://www.$_SERVER[HTTP_HOST]/payment_notify.php';?>">

        <!-- Specify a Buy Now button. -->
        <input type="hidden" name="cmd" value="_xclick">
        <input type="image" name="submit" border="0"
        src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" alt="PayPal - The safer, easier way to pay online">
        <img alt="" border="0" width="1" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >
    </form>

1 个答案:

答案 0 :(得分:0)

你必须在这里检查两件事:

  1. $ch = curl_init('https://www.paypal.com/cgi-bin/webscr');更改为 $ch = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr');
  2. 尝试在日志文件中获取响应结果,以查看您获得的实际结果。