PayPal Pro Fehler

01.09.2013 18:00
#1
foxmag
User foxmag
Name: Nikolaus
19.10.2012
Posts: 37
Quote
PayPal Pro Fehler

Hallo an alle!
Plötzlich habe ich ein Problem mit PayPal Pro. Bekomme folgende Fehlermeldung:

SetExpressCheckout failed: Array ( [TIMESTAMP] => 2013-09-01T14:52:08Z [CORRELATIONID] => 41b2c56feed2b [ACK] => Failure [VERSION] => 69.0 [BUILD] => 7539191 [L_ERRORCODE0] => 10401 [L_ERRORCODE1] => 10426 [L_ERRORCODE2] => 10431 [L_SHORTMESSAGE0] => Transaction refused because of an invalid argument. See additional error messages for details. [L_SHORTMESSAGE1] => Transaction refused because of an invalid argument. See additional error messages for details. [L_SHORTMESSAGE2] => Transaction refused because of an invalid argument. See additional error messages for details. [L_LONGMESSAGE0] => Order total is invalid. [L_LONGMESSAGE1] => Item total is invalid. [L_LONGMESSAGE2] => Item amount is invalid. [L_SEVERITYCODE0] => Error [L_SEVERITYCODE1] => Error [L_SEVERITYCODE2] => Error )

Lange Zeit hat das System PayPal Pro reibungslos funktioniert. API Username, API Password und Signature habe ich sorgfältig überprüft.

Kann das an dem letzten Update von Joomla 3.1.5 liegen?

Danke für Ihre Hilfe.


Joomla: 3.1.5
JoomShopping: 4.3.3
PHP: 5.4.17
MySQL: 5.5.32
Website Url: https://foxmag.eu/de/
 
01.09.2013 20:41
#2
webdesigner
(Support Team)
User webdesigner
Name: Admin
05.08.2010
Posts: 16517
Quote
Aw: PayPal Pro Fehler

order number?

admin login?
ftp?
(privat message)

 
02.09.2013 12:23
#3
foxmag
User foxmag
Name: Nikolaus
19.10.2012
Posts: 37
Quote
Aw: PayPal Pro Fehler

webdesigner - 01.09.2013 20:41
order number?

admin login?
ftp?
(privat message)


Sie haben damit bestimmt die Type Fehler gemeint. Hier https://developer.paypal.com/webapps/developer/docs/classic/api/errorcodes/ sind diese Type Fehler (SetExpressCheckout API Error) beschrieben:

10401 Transaction refused because of an invalid argument. See additional error messages for details. Order total is invalid.
10426 Transaction refused because of an invalid argument. See additional error messages for details Item total is invalid.
10431 Transaction refused because of an invalid argument. See additional error messages for details Item amount is invalid.

Das Problem ist – wo soll man die Fehlerursache suchen? Wie kann man, z.B., erkennen, welche „order number“ Script PayPal Pro zum Einsatz bringt (wenn überhaupt)?

Bitte paar Worte dazu. Danke.


Joomla: 3.1.5
JoomShopping: 4.3.3
PHP: 5.4.17
MySQL: 5.5.32
Website Url: https://foxmag.eu/de/

Letzte Änderung: 02.09.2013 12:37
 
02.09.2013 16:20
#4
webdesigner
(Support Team)
User webdesigner
Name: Admin
05.08.2010
Posts: 16517
Quote
Aw: PayPal Pro Fehler

Need test your site

 
03.09.2013 13:12
#5
foxmag
User foxmag
Name: Nikolaus
19.10.2012
Posts: 37
Quote
Aw: PayPal Pro Fehler

webdesigner - 02.09.2013 16:20
Need test your site

Den Fehler habe ich gefunden. Zeile 127, Datei pm_paypal_pro.php:

$paymentAmount = urlencode($order->order_total);

Und zwar der Wert der Variable $paymentAmount muss bis 2 Stellen nach dem Komma abgerundet werden. Sie bekommt im Gegenteil 4 Stellen.

Beispiel. Der Warenpreis wird in der Datenbank so gespeichert (z.B. in EUR)

53.0000

$paymentAmount bekommt in pm_paypal_pro.php eben diesen Wert und das wird vom PayPal nicht akzeptiert.

Richtig ist

53.00

Es gibt in der Datei pm_paypal_pro.php noch 2 Zeilen Nr. 25 und 80 mit dem gleichen Inhalt

$paymentAmount = urlencode($order->order_total);

Ich vermute, das beschriebene Problem betrifft auch diese Zeilen. Das habe ich allerdings nicht geprüft.

Vorläufig habe ich den Fehler beseitigt, indem ich den Wert $paymentAmount abgerundet habe:

$paymentAmount = round(urlencode($order->order_total),2);

Ich glaube, die richtige Korrektur dieses Fehlers muss doch irgendwo anders unternommen werden, damit der entsprechende Parameter im JoomShopping (back end/Währung/Dezimalzahlen) in Einsatz kommt.

Es scheint mir, dass die Entwickler diesen Fehler mit den letzten JoomShopping-Updates zufällig eingesteckt haben, weil sie danach den Modul PayPal Pro nach möglichen Fehlern nicht überprüft haben. Kein Problem. Keine Fehler macht derjenige, der nichts tut.

Trotzdem danke für JS.

Warte auf Antwort.


Joomla: 3.1.5
JoomShopping: 4.3.3
PHP: 5.4.17
MySQL: 5.5.32
Website Url: https://foxmag.eu/de/

Letzte Änderung: 03.09.2013 13:18
 
03.09.2013 13:40
#6
webdesigner
(Support Team)
User webdesigner
Name: Admin
05.08.2010
Posts: 16517
Quote
Aw: PayPal Pro Fehler

Install "Paypal pro 2.0.1"

 
03.09.2013 15:37
#7
foxmag
User foxmag
Name: Nikolaus
19.10.2012
Posts: 37
Quote
Aw: PayPal Pro Fehler

webdesigner - 03.09.2013 13:40
Install "Paypal pro 2.0.1"

Danke, erledigt.

Meinerseits bitte ich Ihnen an, die verbesserte Übersetzungen in einigen Dateien zu speichern.

[Joomla Pfad]\components\com_jshopping\lang\pm_paypal_pro\ru-RU.php

Zeile 3
define("_JSHOP_PPPRO_DIRECT_PAYMENT_DESCRIPTION", 'Direct Payment это форма оплаты, при которой клиент предоставляет все сведения о себе на вашем сайте. Он дает вам свое имя, адрес, номер телефона и другую необходимую информацию для платежа кредитной картой. Вы отправляете все эти данные в PayPal для дальнейшей обработки карты. Клиент при этом никогда не покидает ваш сайт.');

Zeile 7
define('_JSHOP_PPPRO_PAYMENT_TYPE','Вид платежа');

[Joomla Pfad]\components\com_jshopping\lang\pm_paypal_pro\de-DE.php

Zeile 3
define("_JSHOP_PPPRO_DIRECT_PAYMENT_DESCRIPTION", 'Direct Payment ist eine Form der Zahlung, bei der der Kunde alle Angaben über sich selbst auf Ihrer Website hinterlässt. Er gibt seinen Namen, Adresse, Telefonnummer und andere Informationen an, die für die Zahlung per Kreditkarte notwendig sind. Sie senden alle diese Daten an PayPal zur weiteren Verarbeitung der Karte. Der Kunde verlässt dabei nie Ihre Website.');

Zeile 8
define('_JSHOP_PPPRO_CC_TYPE_DISPLAY','Art der Kreditkarte');

Zeile 13
define('_JSHOP_PPPRO_CC_CVV2','Kartenprüfnummer');

[Joomla Pfad]\components\com_jshopping\lang\pm_moneybookers\ru-RU.php

<?php
define('_MB_EMAIL', "Email получателя в Skrill");
define('_MB_MERCHANT_ID', 'ID получателя в Skrill');
define('_MB_SECRETWORD', 'Секретное слово для Skrill');
define('_MB_TRANSACTION_END', "Статус заказа для успешных операций");
define('_MB_TRANSACTION_PENDING', "Статус заказа для отложенных платежей");
define('_MB_TRANSACTION_FAILED', "Статус заказа для неудавшихся операций");
?>

[Joomla Pfad]\components\com_jshopping\lang\pm_moneybookers\de-DE.php

<?php
define('_MB_EMAIL', "E-Mail des Händlers bei Skrill");
define('_MB_MERCHANT_ID', 'ID des Händlers bei Skrill');
define('_MB_SECRETWORD', 'Geheimwort für Skrill');
define('_MB_TRANSACTION_END', "Bestellstatus für erfolgreiche Transaktionen");
define('_MB_TRANSACTION_PENDING', "Bestellstatus für schwebende Zahlungen");
define('_MB_TRANSACTION_FAILED', "Bestellstatus für fehlgeschlagene Transaktionen");
?>

Es gibt allerdings seit langem keinen Moneybookers mehr, sondern Skrill.

Ich wünsche allen Teilnemern und admins viel Erfolg!

Dr.N.Reimer

 
Copyrights MAXXmarketing GmbH. All Rights Reserved