Livezilla

Certified Partner and
PrestaShop Developer for:

Fixing Paypal Problem i Prestashop

Fastställande Paypal problem

Denna sida skrevs på engelska, se den engelska versionen för den rätta koden förändringar.

Följande tips är skrivna för Prestashop 1,2 och 1,3, om du använder någon version av Prestashop 1,4, se till att få den senaste versionen av PayPal-modulen (finns gratis på http://addons.prestashop.com/en/payments- gateways/1748-paypal.html)


1) Det vanligaste problemet med PayPal beställningar inte visas upp som händer när PayPal inte kan komma åt din server, din fil / mappbehörigheter är felaktiga, eller om ditt PayPal-konto inte är verifierat.


Kontrollera att följande villkor är korrekta:

· Din butik är inte i underhåll läge (om ingen kan komma åt din webbplats kommer PayPals webbplats inte kunna heller).

· Det finns inget lösenordsskydd på din webbplats (samma skäl som ovan).

· Försök att öppna den här sidan från webbläsaren - http://www.yoursite.com/modules/paypal/validation.php,
Om du får ett felmeddelande (error 500, kan sidan inte visas) än detta innebär att du har ett problem fil tillstånd. Troligtvis är det paypal katalogen eller hela moduler katalogen inställd på 777 och din värd inte tillåter att (det är inte säkert), prova att ändra det till 755. Du kan också kontrollera din servers fellogg (från din cPanel) för att få det exakta felet.

· Se till att ditt PayPal-konto är verifierat, annars transaktioner inte blir automatiskt godkänd och PrestaShop kommer att visa en betalning fel.


2) Det vanligaste Sandbox mode problem med PayPal-modulen är att beställningar inte visas upp på butiken.

Anledningen till det är det PayPal-modulen för närvarande är inställd på att skapa order endast om svaret man får från PayPals webbplats är "Completed", men när man kör i Sandbox-läget, skickar PayPal en reaktion av "väntan".

Vi har läst någon dokumentation om att förändra sandlådan konto för att skicka en "Slutförd" svar, men även efter att ha provat att betalningarna fortfarande framstod som pågår.


För att fixa det, gör följande ändring i / modules / paypal / validation.php linje # 80.

Det kommer att möjliggöra en order med ett "Väntar" status för att gå igenom, men bara i sandlåda läge.


elseif ($ _POST ['payment_status']! = 'Avslutade')

Bör ändras till

elseif ($ _POST ['payment_status'] = 'Färdig' & & (Configuration::! get ('PAYPAL_SANDBOX ") | | $ _POST [' payment_status '] =' Väntar '))


3) Ett annat vanligt problem är att order som läggs i live-läget inte dyker upp i backoffice, men kunden ändå får debiteras.


Detta är ofta fallet eftersom svaret från paypal inte är "klar."

Det kan finnas många orsaker till att de viktigaste att vi har hittat är:

a) Din förvalda valutan i Prestashop inte matchar ditt PayPal valuta.

b) Betalning sker med echeck eller andra metoder som kräver längre tid att rensa.

c) Paypal beslutar de behöver för att utreda affären.


  • Du kan ändra koden för att skicka ett e-postmeddelande när en transaktion som det händer, så du kunde åtminstone vet om det och kontakta kunden för att informera dem om situationen.


För att göra det, ändra koden i / PayPal / validation.php (linje # 80) Från och med

elseif ($ _POST ['payment_status'] = 'Färdig' & & (Configuration::! get ('PAYPAL_SANDBOX ") | | $ _POST [' payment_status '] =' Väntar '))
$ Errors .= $ paypal-> getL ("betalning').$_ POST ['payment_statu
s'].'';

För att

elseif ($ _POST ['payment_status'] = 'Färdig' & & (Configuration::! get ('PAYPAL_SANDBOX ") | | $ _POST [' payment_status '] =' Väntar '))

{
$ Errors .= $ paypal-> getL ("betalning').$_ POST ['payment_status'].'';
post ("your@address.com", "E betalning error", "Det var problem med utbetalning, nedan är avkastningen från PayPal" print_r ($ _POST, sant.));
}