Livezilla

Certified Partner and
PrestaShop Developer for:

修复中的Prestashop的PayPal问题

固定支付宝问题

这页的英文撰写,请参阅英文版本为正确的代码的变化

下面的提示写的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))
;
}