CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
HTML, CSS und JavaScript Help! Hier gibt es Hilfe zu HTML, CSS und JavaScript Problemen |
27.11.2010, 22:44:16
|
|
Anfänger
|
|
Registriert seit: Apr 2008
Alter: 57
Beiträge: 92
|
|
500 Internal Server Error
N'abend zusammen,
sitze schon den ganzen Tag an einer Einbindung von PayPal (Sofortige Zahlungsbestätigung "IPN") in einer Webseite.
Die Kaufabwicklung funktioniert einwandfrei, danach werden die Käufer auf meine Seite zurückgeführt. Hier hab ich folgenden Code (erstellt mit dem Code-Generator von PayPal):
PHP-Code:
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
// assign posted variables to local variables
$item_name = $_POST['item_name'];
$business = $_POST['business'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$mc_gross = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$receiver_id = $_POST['receiver_id'];
$quantity = $_POST['quantity'];
$num_cart_items = $_POST['num_cart_items'];
$payment_date = $_POST['payment_date'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$payment_type = $_POST['payment_type'];
$payment_status = $_POST['payment_status'];
$payment_gross = $_POST['payment_gross'];
$payment_fee = $_POST['payment_fee'];
$settle_amount = $_POST['settle_amount'];
$memo = $_POST['memo'];
$payer_email = $_POST['payer_email'];
$txn_type = $_POST['txn_type'];
$payer_status = $_POST['payer_status'];
$address_street = $_POST['address_street'];
$address_city = $_POST['address_city'];
$address_state = $_POST['address_state'];
$address_zip = $_POST['address_zip'];
$address_country = $_POST['address_country'];
$address_status = $_POST['address_status'];
$item_number = $_POST['item_number'];
$tax = $_POST['tax'];
$option_name1 = $_POST['option_name1'];
$option_selection1 = $_POST['option_selection1'];
$option_name2 = $_POST['option_name2'];
$option_selection2 = $_POST['option_selection2'];
$for_auction = $_POST['for_auction'];
$invoice = $_POST['invoice'];
$custom = $_POST['custom'];
$notify_version = $_POST['notify_version'];
$verify_sign = $_POST['verify_sign'];
$payer_business_name = $_POST['payer_business_name'];
$payer_id =$_POST['payer_id'];
$mc_currency = $_POST['mc_currency'];
$mc_fee = $_POST['mc_fee'];
$exchange_rate = $_POST['exchange_rate'];
$settle_currency = $_POST['settle_currency'];
$parent_txn_id = $_POST['parent_txn_id'];
$pending_reason = $_POST['pending_reason'];
$reason_code = $_POST['reason_code'];
// subscription specific vars
$subscr_id = $_POST['subscr_id'];
$subscr_date = $_POST['subscr_date'];
$subscr_effective = $_POST['subscr_effective'];
$period1 = $_POST['period1'];
$period2 = $_POST['period2'];
$period3 = $_POST['period3'];
$amount1 = $_POST['amount1'];
$amount2 = $_POST['amount2'];
$amount3 = $_POST['amount3'];
$mc_amount1 = $_POST['mc_amount1'];
$mc_amount2 = $_POST['mc_amount2'];
$mc_amount3 = $_POST['mcamount3'];
$recurring = $_POST['recurring'];
$reattempt = $_POST['reattempt'];
$retry_at = $_POST['retry_at'];
$recur_times = $_POST['recur_times'];
$username = $_POST['username'];
$password = $_POST['password'];
//auction specific vars
$for_auction = $_POST['for_auction'];
$auction_closing_date = $_POST['auction_closing_date'];
$auction_multi_item = $_POST['auction_multi_item'];
$auction_buyer_id = $_POST['auction_buyer_id'];
if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
include ("./zahlung_body.php");
}
// if the IPN POST was 'INVALID'...do this
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
mail($notify_email, "INVALID IPN", "$res\n $req");
}
}
fclose ($fp);
}
Leider bekommt hier der Käufer folgende Meldung:
Zitat:
500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, service@webmailer.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log
|
Die Rechte für das Script, welches die Daten empfängt, hab ich schon auf 777 gesetzt.
Beim testen über die Sandbox bekomme ich komischerweise keine Fehlermeldung.
Falls jemand nen Tipp für mich hat, wäre ich sehr dankbar.
PS. Ich habe gegoogelt, die Anleitung von PayPal gelesen etc. komme trotzdem nicht weiter.
__________________
Ceterum censeo Carthaginem esse delendam
|
27.11.2010, 23:12:37
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: 500 Internal Server Error
Schon mal PayPal direkt angefragt? Schon das Script debugt?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
27.11.2010, 23:16:48
|
|
Anfänger
|
|
Registriert seit: Apr 2008
Alter: 57
Beiträge: 92
|
|
AW: 500 Internal Server Error
PayPal hab ich angefragt. Leider noch keine Antwort.
Debugt? Wie bitte und ich probiere es sofort!
__________________
Ceterum censeo Carthaginem esse delendam
|
01.12.2010, 18:09:46
|
Anfänger
|
|
Registriert seit: Aug 2010
Alter: 43
Beiträge: 27
|
|
AW: 500 Internal Server Error
ini_set('error_reporting', E_ALL); an den Anfang des Scripts.
Du solltest im Browser, bzw. im Logfile (eins von beidem sollte immer definiert sein) eventuelle Fehlermeldungen finden.
Sofern dort gar nichts steht, schau in der error_log vom Apache-Webserver, sofern der verwendet wird.
Steht auch dort kein Fehler drin, musst du das Script kontroliert debuggen. Sprich bau einfach in ausgewählten Zeilen einen "echo" ein und hangel dich so zu der Stelle, bis zu der das Script kommt.
|
01.12.2010, 18:10:57
|
Anfänger
|
|
Registriert seit: Aug 2010
Alter: 43
Beiträge: 27
|
|
AW: 500 Internal Server Error
Sofern der Code so 1:1 von Paypal kommt, steht in deiner Datei ganz am Anfang auch "<?php"?
|
01.12.2010, 22:44:57
|
|
Anfänger
|
|
Registriert seit: Apr 2008
Alter: 57
Beiträge: 92
|
|
AW: 500 Internal Server Error
Hallo,
error_reporting(E_ALL); ist an. Dort kommt aber keine Fehlermeldung zu meinem Problem.
Öffnendes PHP am Anfang steht.
PayPal meinte ich solle statt
PHP-Code:
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
mal
PHP-Code:
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
nehmen. Hatte ich aber schon gemacht. Ist aber leider dasselbe Ergebnis.
Logfile gibt folgendes aus:
Zitat:
malformed header from script. Bad header=No recipient addresses found i: zahlung.php
|
Mehr Info's hab ich leider nicht. Mal schauen wie ich das löse.
__________________
Ceterum censeo Carthaginem esse delendam
|
07.12.2010, 21:58:16
|
|
Anfänger
|
|
Registriert seit: Apr 2008
Alter: 57
Beiträge: 92
|
|
AW: 500 Internal Server Error
Problem gelöst.
Von Strato kam heute diese Antwort:
Zitat:
Da Sie eine Shared Hosting Paket gebucht haben ist die Nutzung eines eigenen Zertifikats leider nicht möglich. Daher bieten wir als alternative einen SSL-Proxy an. Um Ihre Internetpräsenz verschlüsselt aufzurufen geben Sie die folgende URL an:
https://ssl-id.de/domainname
Auf diesem Weg können Sie auch das Paypal Bezahlverfahren nutzen.
|
Ich hab bei PayPal jetzt die Seite für die sofortige Zahlungsbestätigung nach dem aufgezeigten Muster eingestellt, und siehe da es geht.
Danke für Eure Hilfe
__________________
Ceterum censeo Carthaginem esse delendam
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:33:04 Uhr.
|