贝宝 - IPN 页面

Posted

技术标签:

【中文标题】贝宝 - IPN 页面【英文标题】:PayPal - IPN page 【发布时间】:2016-11-06 12:11:30 【问题描述】:

我有这个关于通过 php 支付 IPN Paypal 的问题。

ipn.php

<?php

    // read the post from PayPal system and add 'cmd'
    $req = 'cmd=_notify-validate';
    foreach ($_POST as $key => $value) 
    $value = urlencode(stripslashes($value));
    $req .= "&$key=$value";
    
    // post back to PayPal system to validate
    $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

    //$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
    $fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);


    if (!$fp) 
    // HTTP ERROR
     else 
    fputs ($fp, $header . $req);
    while (!feof($fp)) 
    $res = fgets ($fp, 1024);
    if (strcmp ($res, "VERIFIED") == 0) 

    // PAYMENT VALIDATED & VERIFIED!
        $hour = date("g:ia");
        $fp = fopen("richieste_".date("d_m_Y").".txt", "a");
        fwrite($fp, "1,16,6.01,".$hour.";");
    

    else if (strcmp ($res, "INVALID") == 0) 

    // PAYMENT INVALID & INVESTIGATE MANUALY!

    
    
    fclose ($fp);
    
?>

txt 文件未保存,ipn 状态为 payment_status=Completed with HTTP request code 200。 我哪里错了?

【问题讨论】:

验证文件夹/文件权限 嗨,不是权限问题,因为它保存的文件超出了脚本。 【参考方案1】:

我总是使用这种方法:

$filename = **FULL_PATH** . "/" . $filename . ".txt";
$handle   = fopen( $filename, "a+" );

If( $handle ) 
  fwrite( $handle, YOUR_CONTENTS_HERE );

我可以看到你没有提供文件的完整路径。

【讨论】:

以上是关于贝宝 - IPN 页面的主要内容,如果未能解决你的问题,请参考以下文章

IPN 适用于“客人”付款,但不适用于贝宝帐户持有人

Asp.net MVC - 贝宝 ipn

如何在会员网站上使用贝宝 IPN (PHP)

贝宝 IPN 更改 |有没有人在过去 24 小时内有任何运气

paypal ipn micah 的 php 类

Paypal IPN 集成问题