固定支付宝问题
这页的英文撰写,请参阅英文版本为正确的代码的变化 。
下面的提示写的Prestashop 1.2和1.3,如果你正在使用任何版本的Prestashop 1.4,确保获得最新版本的PayPal模块(免费提供http://addons.prestashop.com/en/payments- gateways/1748-paypal.html)
1)与贝宝的命令没有显示出来的最常见的问题发生时,贝宝不能访问您的服务器,您的文件/文件夹的权限是不正确的的,或者如果不验证你的 PayPal帐户。
检查下列条件是正确的:
·你的店是不是在维护模式(如果没有人可以访问您的网站,贝宝网站将无法要么) 。
·有没有密码保护您的网站上(如上述同样的原因)。
·尝试从浏览器中打开此页- http://www.yoursite.com/modules/paypal/validation.php如果你得到一个错误(500错误,无法显示页面),比这意味着你有一个文件的权限问题。最有可能的,是贝宝的目录或整个模块的目录设置为777和您的主机不允许(它并不安全);尝试将它更改为755。您也可以检查您的服务器的错误日志(从您的cPanel),以获得确切的错误。
·确保你的PayPal帐户验证,否则交易不会得到自动批准的Prestashop会显示错误付款。
2)最常见的沙箱模式的问题是与PayPal模块,订单上显示的店铺 。
目前成立的原因,那就是贝宝模块创建只有当它从PayPal网站获得的回应是“完成”的订单,然而,在沙盒模式运行时,贝宝发送一个“待定”的回应。
我们读到了改变沙箱帐户发送一个“已完成”的一些文件,但即使在试图付款,待出现。
为了解决这个问题,作出以下更改/模块/贝宝/ validation.php线#80。
它将使订单“挂起”状态,经过,但只在沙箱模式 。
ELSEIF($ _POST [“PAYMENT_STATUS'] ='已完成”)
应改为
ELSEIF($ _POST ['PAYMENT_STATUS“] =”已完成“&&(配置:!!('PAYPAL_SANDBOX”)| | $ _POST [“PAYMENT_STATUS'] ='挂起'))
3)另一个常见的问题是,在现场模式下的订单不显示在后台,但客户仍然被收取。
这是经常发生的情况,因为从PayPal的反应不是“已完成。 “
可能有许多原因,我们发现主要的是:
a)您的Prestashop默认货币不匹配您的贝宝货币。
B)支付使用电子支票或其他方法,需要较长的时间来清除。
C)支付宝决定他们需要的交易展开调查。
要做到这一点,改变代码(80号线)/贝宝/ validation.php
ELSEIF($ _POST ['PAYMENT_STATUS“] =”已完成“&&(配置:!!('PAYPAL_SANDBOX”)| | $ _POST [“PAYMENT_STATUS'] ='挂起'))
错误.=元贝- > getL('支付').$_ POST ['payment_statu小号'].'';
要
ELSEIF($ _POST ['PAYMENT_STATUS“] =”已完成“&&(配置:!!('PAYPAL_SANDBOX”)| | $ _POST [“PAYMENT_STATUS'] ='挂起'))
{
错误.=元贝- > getL('支付').$_ POST ['PAYMENT_STATUS '].'';
邮件(“your@address.com”,“电子邮件支付错误”,“有一个支付的问题,下面是来自PayPal的回报”的print_r($ _POST,TRUE)) ;
}