Page 31 of 32

Re: XH-Shop

Posted: Sun Jul 07, 2019 1:41 pm
by frase
cmb wrote:
Sun Jul 07, 2019 1:27 pm
Nö, isser nicht; muss nur zu viel phpensterln.
Was ihr jetzt alle gehört und gespürt habt, war kein Erdbeben in DE, sondern der Stein, der mir gerade von dem Ding ... Na, wie heißt das gleich? Ach ja ... Herzen gefallen ist.

Re: XH-Shop

Posted: Mon Jul 08, 2019 11:28 am
by albert
frase wrote:Ich kann es ja gar nicht mit ansehen, wie du hier leidest.
Nur versuchen, etwas Trost zu spenden ...
Wenn die Ausfälle sporadisch sind, also zwischendurch wieder mal was klappt, dann deutet das eher auf externe Ursachen hin.
Ich weiß, das hilft dir alles nichts :cry:
Doch, etwas Trost ist immer gut ;) danke! Und nebenbei war mir nicht klar, dass das wohl eher "ein externes Problem" ist.
PS: jetzt sind wieder ein paar Bestellungen regulär durchgegangen - freufreu Verzweiflung weg
cmb wrote:
Sun Jul 07, 2019 1:27 pm
Als Debug-Hilfe könntest du mal diese Zeile ändern zu:

Code: Select all

$this->handshakeFailed(sprintf('unexpected response for IPN pingback request [%s]: %s', $payload, trim($body)));
Danke dir dass du dich trotz Zeitmangel meiner annimmst. Hab die Zeile geändert - möge es nützen! Aufgrund eines früheren Problems steht bei mir noch ein bißchen was anderes drin. Insgesamt also jetzt:

Code: Select all

        } elseif (in_array('INVALID', $lines)) {
                // just ignore this IPN
// siehe  https://cmsimpleforum.com/viewtopic.php?p=65047#p65047
            $this->handshakeFailed('IPN pingback request is INVALID');				
        } else {
// siehe https://cmsimpleforum.com/viewtopic.php?p=72092#p72092
$this->handshakeFailed(sprintf('unexpected response for IPN pingback request [%s]: %s', $payload, trim($body)));
        }
        fclose($fp);
        while (ob_get_level()) {
            ob_end_clean();
        }
        header('HTTP/1.1 200 OK');
        exit;
    }
denke das müsste korrekt sein so. Mal sehen was passiert wenn es wieder auftritt...

Re: XH-Shop

Posted: Tue Jul 09, 2019 7:51 pm
by albert
paypal hat paarmal geklappt, jetzt wieder paarmal nicht.

Die erweiterte Meldung ist:

Code: Select all

2019-07-09 17:38:38	error	xhshop	ipn	Handshake failed! (unexpected response for IPN pingback request [POST /cgi-bin/webscr HTTP/1.1
Host: ipnpb.paypal.com:443
Content-Type: application/x-www-form-urlencoded
Content-Length: 1216
User-Agent: XH-Shop-IPN-VerificationScript
Connection: close

cmd=_notify-validate& ... usw. Bestelldaten die vorher nicht protokolliert wurden. 
Der Rest danach ist gleich.
Weiß nicht ob das weiterhilft.

Gibt es denn keine Möglichkeit, alle vom Kunden eingegebenen Daten zu protokollieren, nach Klick auf Button "mit Paypal bezahlen", aber bevor Paypalbezahlung gestartet wird?

Re: XH-Shop

Posted: Tue Jul 09, 2019 9:09 pm
by cmb
albert wrote:
Tue Jul 09, 2019 7:51 pm
Die erweiterte Meldung ist:
[…]
Du hast eigentlich da abgeschnitten, wo es für mich interessant geworden wäre. Mir ging es v.a. darum, ob der Request-Body (also ab cmd=_notify-validate&) auch korrekt kodiert wurde, und ob die angegebenen Felder auch tatsächlich aus dem Formular stammen. Falls das so ist, dann wäre die Antwort "Bad Request" nämlich möglicherweise ein Fehler seitens des Bezahlkumpels.
albert wrote:
Tue Jul 09, 2019 7:51 pm
Gibt es denn keine Möglichkeit, alle vom Kunden eingegebenen Daten zu protokollieren, nach Klick auf Button "mit Paypal bezahlen", aber bevor Paypalbezahlung gestartet wird?
Geht auf jeden Fall. Ich denke, man müsste direkt vor dieser Zeile etwa folgende einfügen:

Code: Select all

XH_logMessage('info', 'xhshop', 'final_checkout', serialize($_SESSION));

Re: XH-Shop

Posted: Wed Jul 10, 2019 6:23 am
by albert
cmb wrote:
Tue Jul 09, 2019 9:09 pm
Du hast eigentlich da abgeschnitten, wo es für mich interessant geworden wäre.
Weil da Kundendaten drin sind hatte ich das hier weggelassen - als PN an dich

Re: XH-Shop

Posted: Wed Jul 10, 2019 6:33 am
by albert
PN ging nicht. Also der Rest hier mit gekürzten Kundendaten:

Code: Select all

cmd=_notify-validate&mc_gross=66.70&protection_eligibility=Eligible&address_status=confirmed&item_number1=1&item_number2=2&payer_id=TYS627X...&address_street=...str.+40&payment_date=08%3A38%3A23+Jul+09%2C+2019+PDT&payment_status=Completed&charset=UTF-8&address_zip=70197&mc_handling=0.00&first_name=R...&mc_fee=2.01&address_country_code=DE&address_name=R...+S...&notify_version=3.9&custom=8b9a4bd47ca16a2738a4e6911d2f5092&payer_status=verified&business=info%40natur-und-handgemacht.de&address_country=Germany&num_cart_items=2&address_city=stuttgart&verify_sign=AW134ETOT.ABR9MxinB5hcWpf2MaAtqYM6UxWBfPFYz9vWRGf15Jiw1Y&payer_email=s...r...%40web.de&txn_id=0XU09...325&payment_type=instant&last_name=S...&address_state=&item_name1=Dinkelkissen%2C+Dinkel-Kopfkissen+40x80+cm+-+incl.+5+Liter+Reserve%2C&receiver_email=info%40natur-und-handgemacht.de&item_name2=Schulter-Nackenkissen%2C+Affen+blau&payment_fee=&shipping_discount=0.00&quantity1=2&insurance_amount=0.00&quantity2=1&receiver_id=C5QFABZ3ZSZCG&txn_type=cart&discount=0.00&mc_gross_1=49.80&mc_currency=EUR&mc_gross_2=16.90&residence_country=DE&shipping_method=Default&transaction_subject=&payment_gross=&ipn_track_id=e2ad8ea8bc3f0]: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>)

Re: XH-Shop

Posted: Wed Jul 10, 2019 6:59 am
by albert
Hab den code "XH_logMessage..." eingebaut und die Daten kamen bei Testkauf schön rüber. Allerdings war der Testkauf "ipn-processed" und die Daten kamen nach

Code: Select all

2019-07-10 08:45:47	info	xhshop	mail	Bestätigung versendet an info@...de
2019-07-10 08:45:48	info	xhshop	mail	Benachrichtigung über Bestellung von info@...de versendet
2019-07-10 08:45:48	info	xhshop	final_checkout	a:3:{s:8:"xhsToken";s:24:"e1fefee ... 
Bei "ipn failed" wurden bisher keine Emails versendet. Werden denn dann die Daten überhaupt geloggt oder bricht das vorher ab? Sollte "XH_logMessage..." deshalb vielleicht lieber früher passieren, also weiter oben stehen?

Re: XH-Shop

Posted: Wed Jul 10, 2019 8:19 am
by cmb
albert wrote:
Wed Jul 10, 2019 6:59 am
Bei "ipn failed" wurden bisher keine Emails versendet. Werden denn dann die Daten überhaupt geloggt oder bricht das vorher ab? Sollte "XH_logMessage..." deshalb vielleicht lieber früher passieren, also weiter oben stehen?
Der Ablauf sollte so sein: bei final checkout werden die Daten protokolliert; dann wird die IPN verarbeitet; bei Erfolg wird dann die Mail gesendet. Es müssten also auch bei IPN Fehlschlag zumindest die Daten gespeichert werden.

Re: XH-Shop

Posted: Fri Jul 12, 2019 7:22 pm
by albert
cmb wrote:
Tue Jul 09, 2019 9:09 pm
Geht auf jeden Fall. Ich denke, man müsste direkt vor dieser Zeile etwa folgende einfügen:

Code: Select all

XH_logMessage('info', 'xhshop', 'final_checkout', serialize($_SESSION));
Wie ich befürchtet hatte: Bei paypal "handshake failed" wird diese logMessage nicht geschrieben!

Habe diese Codezeile jetzt eins höher geschrieben, also vor " if ($viaIpn) {"

Da müsste das jetzt wohl bei jeder Bezahlart geloggt werden. (?)

Re: XH-Shop

Posted: Sat Jul 13, 2019 7:50 am
by albert
Für mehr Übersicht im logText habe ich jetzt

Code: Select all

XH_logMessage('info', 'xhshop', 'final_checkout', serialize($_SESSION['xhsCustomer']));
Das sind die Daten, die ansonsten verloren gehen. Klappt bisher bei allen Bezahlarten. Mal sehen obs auch tut bei "handshake failed" ...