php - Paypal PDT 脚本无法使用 cURL

标签 php wordpress curl paypal paypal-pdt

我似乎无法让这个 PayPal PDT 脚本正常工作。 Paypal 点击了返回 URL,但随后我看到了一个空白屏幕,没有任何反应。任何人都可以看到什么是不正确的吗?这是我的代码:

$tx = $_GET['tx'];
$ID = $_GET['cm'];
$amount = $_GET['amt'];
$currency = $_GET['cc'];
$identity = '###########################################'; 

// Init cURL
$ch = curl_init(); 

// Set request options
$url = 'https:www.paypal.com/cgi-bin/webscr';
$fields = array(
    'cmd' => '_notify-synch',
    'tx' => $tx,
    'at' => $identity,
);

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch,CURLOPT_HEADER, FALSE);

// Execute request and get response and status code
$response = curl_exec($ch);
$status   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// Close connection
curl_close($ch);
if($status == 200 AND strpos($response, 'SUCCESS') === 0)
{
    wp_redirect(home_url('/account'));
    exit;
} else {
    wp_redirect(home_url());
    exit;
}

URL 字符串显示最初返回的必要信息(交易 ID 等)是正确的,但我不知道它是否真的被使用了,只是 wordpress 重定向失败了,或者如果它事先在某个时候失败了。

最佳答案

科里,

使用您的代码,我可以让 PDT 进行一些更改:

$url = 'https:www.paypal.com/cgi-bin/webscr';

$url = 'https://www.paypal.com/cgi-bin/webscr';

curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($fields));

此外,请确保您是否正在使用沙箱进行测试以使用 url https://www.sandbox.paypal.com/cgi-bin/webscr反而。

关于php - Paypal PDT 脚本无法使用 cURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23065544/

相关文章:

html - 由于某种原因,移动汉堡包链接左对齐

php - WooCommerce - 页面重新加载时清空购物车

PHP cURL - 如何模拟与用户完全相同的请求?

php - 我们可以根据 curl 请求存储使用 html5 本地存储吗

python - 我如何弄清楚在 url 重定向期间到底发生了什么?

php - 使用 MSSQL 执行 Select 语句(适用于 MySQL)

php - 在 PHP 中为多个客户端应用一个或多个数据库

php - mysql多对多查询问题

php - 几秒钟后突出显示不同的链接

php - 将 mysql_num_rows 与多个表一起使用?