paypal pdt php 5.3,php – Paypal支付数据传输(PDT)错误4002

我正在努力将我的网站与paypal集成并使其在沙盒模式下工作.我在Codeigniter(PHP)工作.我已经得到了完美的IPN通知,但似乎无法弄清楚我在哪里出错PDT(需要这个以显示正确的确认页面并返回).我已多次检查身份令牌,确保htaccess文件不限制回拨的访问权限,确保电子邮件已针对业务字段进行验证,确保一切都将进入沙箱,而不是实时站点,并且确保使用正确的参数启用自动返回,甚至询问技术支持(没有收到任何有用的帮助).但我一直得到“失败”的返回($响应),错误代码为4002.任何有关如何调试它的帮助将不胜感激.

这是我的表格:

这是它的地方:

$querystring = '?';

$querystring .= "business=".urlencode("paypal@#######.net")."&";

$querystring .= "cmd=".urlencode("_xclick")."&";

$querystring .= "amount=".urlencode(krw_usd($items_no_tax_price))."&";

$querystring .= "rm=".urlencode(2)."&";

$querystring .= "quantity=".urlencode($quant)."&";

$querystring .= "first_name=".urlencode($first_name)."&";

$querystring .= "last_name=".urlencode($last_name)."&";

$querystring .= "email=".urlencode($email)."&";

$querystring .= "currency_code=".urlencode("USD")."&";

$querystring .= "return=".urlencode(stripslashes($return_url))."&";

$querystring .= "cancel_return=".urlencode(stripslashes($cancel_url))."&";

$querystring .= "notify_url=".urlencode(stripslashes($notify_url));

header('location:https://www.sandbox.paypal.com/cgi-bin/webscr'.$querystring);

这是返回网址:

$request = curl_init();

curl_setopt_array($request, array

(

CURLOPT_URL => 'https://www.sandbox.paypal.com/cgi-bin/webscr',

CURLOPT_POST => 1,

CURLOPT_POSTFIELDS => http_build_query(array

(

'cmd' => '_notify-synch',

'tx' => $tx,

'at' => '#############################',

)),

CURLOPT_RETURNTRANSFER => 1,

CURLOPT_HEADER => 0,

));

$response = curl_exec($request);

$status = curl_getinfo($request, CURLINFO_HTTP_CODE);

curl_close($request);

$response = substr($response, 7);

$response = urldecode($response);

preg_match_all('/^([^=\s]++)=(.*+)/m', $response, $m, PREG_PATTERN_ORDER);

$response = array_combine($m[1], $m[2]);

if(isset($response['charset']) AND strtoupper($response['charset']) !== 'UTF-8')

{

foreach($response as $key => &$value)

{

$value = mb_convert_encoding($value, 'UTF-8', $response['charset']);

}

$response['charset_original'] = $response['charset'];

$response['charset'] = 'UTF-8';

}

ksort($response);

foreach($response as $k=>$v)

{

echo "Key: " . $k . ", Value: " . $v;

echo "
";

}

解决方法:

$tx_token = strtoupper($_ GET [‘tx’]),它的工作.

标签:eclipse-pdt,php,codeigniter,paypal

来源: https://codeday.me/bug/20190825/1717761.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PP_IPN_PDT_Guide_CHN.pdf Paypal的IPN和PDT变量对照表(中文版) Instant Payment Notification (即时付款通知) & Payment Data Transfer (付款数据传输) 说明 目录 1 付款数据传输 PDT.....................................................................................................................3 1.1 什么是PDT........................................................................................................................3 1.2 如何启用PDT...................................................................................................................3 1.3 PDT 示例代码....................................................................................................................6 1.3.1 PDT for PHP 示例代码...........................................................................................6 1.3.2 PDT for ASP 示例代码............................................................................................7 2 即时付款通知 IPN ....................................................................................................................10 2.1 什么是即时付款通知 IPN .............................................................................................10 2.2 如何启用IPN? ..............................................................................................................11 2.3 通知确认 - 给PayPal 的HTTPS 回发.........................................................................12 2.4 处理IPN 的示例代码.....................................................................................................13 2.4.1 IPN for JAVA 示例代码........................................................................................13 2.4.2 IPN for Perl 示例代码..........................................................................................14 2.4.3 IPN for PHP 示例代码.........................................................................................16 2.4.4 IPN for ASP/VBScript 示例代码.........................................................................17 2.4.5 IPN for .NET/VB 示例代码.................................................................................18 2.4.6 IPN for .NET/C# 示例代码..................................................................................19 3 集成PayPal 建议........................................................................................................................21 4 附录5:IPN 和PDT 变量列表.................................................................................................21

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值