最近模板兔有个客户在使用erphpdown插件里面的paypal功能时遇到如上问题,排除了防火墙拦截的因素。我在查看网站日志时发现有一条回调请求是

/wp-content/plugins/erphpdown/payment/paypal.php?currencyCodeType=USD&paymentType=Sale&token=*******&PayerID=*****

从上面路径可以看出链接的&符号被服务器转义成了&导致网站没有获取到这个回调请求的参数,那么如何处理呢?

这种情况可能是服务器为了防止XSS攻击,自动htmlspecialchars进行转义了,如果我们不换服务器,那么只能通过PHP来处理下。部分处理部分的代码如下:

$ice_payapl_api_rmb = get_option('ice_payapl_api_rmb')?get_option('ice_payapl_api_rmb'):1;//汇率  if(isset($_REQUEST['currencyCodeType']) && !isset($_REQUEST['token'])){      $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ?"https://": "http://";      wp_redirect( str_replace('&','&',$protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) );  }  elseif(!isset($_REQUEST['token'])){      $epd_order = _epd_create_page_order('paypal');      ...
www.npspro.cn软师兄
软师兄 » 使用erphpdown的paypal付款后网站没有收到通知的解决办法
50T免费网盘资源大集合【持续更中~~~~】:点击查看