gpt4 book ai didi

php - 未收到来自 Paypal IPN Sandbox 的响应

转载 作者:可可西里 更新时间:2023-10-31 22:40:47 24 4
gpt4 key购买 nike

我在我的网站上添加了一个 paypal 结账功能,但我对听众感到失望。对于那些不熟悉 Paypal IPN 系统的人,基本上 Paypal 会向您的脚本发送一条关于交易的消息,您将其发送回来并添加几位。如果 Paypal 收到正确的回复,它会回复“已验证”,否则会回复“无效”。

我已经成功了第一位。我的代码能够从 paypal 接收信息,添加附加功能并将其发回。但是,我没有收到沙箱的任何回应,说“已验证”或“无效”。我几乎从 paypal 网站上复制了我的代码,所以我希望这会相当简单,所以如果你能花点时间看看我的代码,也许一些新的眼睛会发现我哪里出错了.

这是代码。没什么特别的,它实际上只是获取信息,对其进行调整,将其传回并读取响应(它没有获取或没有意识到它正在获取)

<?php

$debug=true;

//Put together postback info

$postback = 'cmd=_notify-validate';

foreach($_POST as $key =>$value){
$postback .= "&$key=$value";
}

// build the header string to post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($postback) . "\r\n\r\n";

$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);//open the connection

if(!$fp){ //no conn
die();
}

//post data back
fputs($fp, $header . $postback);

while(!feof($fp)){

$res=fgets ($fp, 1024);

if((strcmp($res, "VERIFIED")) == 0){ //verified!
if($debug){
$filename = 'debug/debug5_verified.txt'; //create a file telling me we're verified
$filehandle=fopen($filename, 'w');
fwrite($filehandle,'VERIFIED!');
fclose($filehandle);
}
}
}

?>

提前致谢!

最佳答案

切换到使用 HTTPS url,我不确定是什么时候,但最近我的所有测试脚本开始在普通 HTTP 版本上失败。他们看起来正在迁移。

我使用的是与您相同的 Paypal 示例代码:

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

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

关于php - 未收到来自 Paypal IPN Sandbox 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com