Visualizzazione risultati 1 fino 24 di 24

Discussione: fsockopen abilitato? Come abilitarlo? [era:fsockopen]

  1. #1
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito fsockopen abilitato? Come abilitarlo? [era:fsockopen]

    Salve a tutti.

    Vorrei sapere se la funzione fsockopen abilitata o meno. Questa mi indispensabile per i pagamenti da sito web di PayPal e il conseguente aggiornamento del mio database.

    Nel caso non fosse abilitata, mi dite come abilitarla? Anche si dovesse pagare oppure spendere AC.

    Grazie

  2. #2
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,632

    Predefinito

    Trovi tutte le informazioni sul forum: Curl e fsockopen()

  3. #3
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito



    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  4. #4
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    il problema che paypal vuole la porta 443, non la 80....io ho gi levato le restrizioni, per come posso fare?

  5. #5
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,632

    Predefinito

    Se cos, attualmente non possibile perch Altervista ammette solo connessioni verso la porta 80.

  6. #6
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    Andiamo bene....quindi devo abbandonare altervista??

    Ma se invece io sostituissi fsockopen con curl? come posso fare?

  7. #7
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Va bene anche la 443. Era sbagliato il Wiki.


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  8. #8
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    E allora come mai non funziona? vi posto lo script, all'assistenza di paypal mi han detto che dal loro lato tutto ok e lo script dovrebbe essere corretto:

    Codice PHP:
    <?php


    /////////////////////////////////////////////////
    /////////////Begin Script below./////////////////
    /////////////////////////////////////////////////

    // 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";

    // If testing on Sandbox use:
    //$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);

    $fp fsockopen ('ssl://www.paypal.com'443$errno$errstr30);


    // 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'];



    //DB connect creds and email 
    $notify_email =  "libercin@gmail.com";         //email address to which debug emails are sent to
    $DB_Server "localhost"//your MySQL Server
    $DB_Username "mellogrand"//your MySQL User Name
    $DB_Password ""//your MySQL Password
    $DB_DBName "my_mellogrand"//your MySQL Database Name


    if (!$fp) {
    // HTTP ERROR
    } else {
    fputs ($fp$header $req);
    while (!
    feof($fp)) {
    $res fgets ($fp1024);
    if (
    strcmp ($res"VERIFIED") == 0) {

            
    $db mysql_connect($DB_Server$DB_Username$DB_Password);
            
            if (
    $db == FALSE)
            
    mail('brouls19@yahoo.it','Fallimento connessione','Fallimento connessione.Punto 1');
            
            
    mysql_select_db($DB_DBName$db)
            or 
    mail('brouls19@yahoo.it','Fallimento connessione','Fallimento scelta database.Punto 2');

            
    //Inserisco i dati nel database
            
    $query "SELECT CodU FROM Utenti WHERE Nickname='$custom'";
            
    $result mysql_query($query$db);
            if(!
    $result)
                
    mail('brouls19@yahoo.it','Fallimento Query','Fallimento Query.Punto 3');
            else {
            
    $row mysql_fetch_array($result);
            
    $codu $row[CodU];

            
    //Cerco la data attuale
            
    $dt=getdate(time());
            
    $data=mktime("0","0","0",$dt['mon'],$dt['mday'],$dt['year']);

            
    $query "INSERT INTO Comprati (CodU,CodS,Data) VALUES ('$codu','$item_number','$data')";
            if (
    mysql_query($query$db)){
                
    mail('brouls19@yahoo.it','Inserimento Riuscito','Inserimento Riuscito');
            }
            else {
                
    mail('brouls19@yahoo.it','Fallimento Query','Fallimento Inserimento.Punto 4');
            }
                
            
    // send an email in any case
         
    mail($notify_email"VERIFIED IPN""$res\n $req\n $strQuery\n $struery\n  $strQuery2");

            }}
            
            else if (
    strcmp ($res"INVALID") == 0) {
            
    // log for manual investigation
            
            
    mail($notify_email"INVALID IPN""$res\n $req");
            
    mail('brouls19@yahoo.it','Fallimento IPN','Fallimento IPN.Punto 5');
            }


            }

            
    fclose ($fp);
            
            }

            
    ?>

  9. #9
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Perch Paypal non nella whitelist.


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  10. #10
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    ho gi sbloccato

    EDIT
    non c' senn un numero di telefono per contattare l'assistenza di altervista? perch avrei una certa urgenza di risolvere

    EDIT 2
    up perfavore...ditemi a chi devo rivolgermi per risolvere questo problema
    Ultima modifica di musicanapoli : 22-09-2010 alle ore 02.38.30

  11. #11
    L'avatar di javascripter
    javascripter non  connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Confermi aver selezionato la voce "Collegamento esterno senza restrizione", come nell'immagine qui sotto ( cliccaci sopra per visualizzarla nelle dimensioni reali ):


    ?

    P.S. Piano con gli up, rischi di essere bannato dal forum perch non rispetti il regolamento.

  12. #12
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    si confermo

  13. #13
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,632

    Predefinito

    Cosa accade esattamente? Restituisce un errore? Non scrive nulla?
    Prova a vedere se almeno la connessione viene effettuata: al posto di
    Codice PHP:
    // HTTP ERROR 
    metti
    Codice PHP:
    echo "Errore fsockopen, codice <b>$errno</b>, messaggio di errore: <b>$errstr</b>"

  14. #14
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    L'errore salvato in errno 0. Vi cito la stringa dal sito php.net

    If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket.

  15. #15
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,632

    Predefinito

    S, ma $fp un file pointer o false?
    $errno 0 anche se fsockopen restituisce un file pointer.
    Ultima modifica di karl94 : 21-09-2010 alle ore 23.23.26

  16. #16
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    ok controllo ancora scusa....

    EDIT
    controllato...fp non false, il ciclo entra nell'else non va dove c' HTTP Error

    EDIT 2
    aggiungo un altro dettaglio (non prendetelo come un up che man mano che ho dettagli da darvi li posto senn si richia di far lavoro inutile).

    quando entra nel ciclo while (dove legge da fp) la prima riga questa:

    HTTP/1.0 400 Bad request

    Per perch da paypal mi hanno detto che dava 200 OK? O un'altra cosa?

    ps. pu darsi che in questo momento il problema sia che sto usando sandbox invece di paypal (o cambiato la riga di fsockopen per eh)? nel tentativo con loro avevo proprio fatto un pagamento
    Ultima modifica di musicanapoli : 22-09-2010 alle ore 02.40.04

  17. #17
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,632

    Predefinito

    Ok, cominciamo a delineare il problema: la connessione avviene correttamente, ma c' qualche problema con la richiesta: infatti il server risponde con un messaggio di errore che indica un qualche errore nella richiesta HTTP. Quindi sembra che ci sia un problema nello script. Per analizzare meglio il problema, dovresti postare il contenuto delle variabili $header e $req, siccome la seconda potrebbe contenere dati sensibili dovresti inviare allo script dati fasulli o vuoti, per verificare se la richiesta HTTP inviata corretta.

  18. #18
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    ho fatto una piccola modifica all'header perch probabilmente mancava un pezzo. Adesso l'errore cambiato, non pi 400 Bad Request ma

    HTTP/1.0 500 Server closed connection without sending any data back

    Edit

    Ecco il contenuto di $header . $req

    POST /cgi-bin/webscr HTTP/1.0
    Host: www.sandbox.paypal.com:443
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 840

    cmd=_notify-validate&test_ipn=1&payment_type=echeck&payment_da te=02%3A14%3A49+Sep+22%2C+2010+PDT&payment_status= Completed&address_status=confirmed&payer_status=ve rified&first_name=John&last_name=Smith&payer_email =buyer%40paypalsandbox.com&payer_id=TESTBUYERID01& address_name=John+Smith&address_country=United+Sta tes&address_country_code=US&address_zip=95131&addr ess_state=CA&address_city=San+Jose&address_street= 123%2C+any+street&business=seller%40paypalsandbox. com&receiver_email=seller%40paypalsandbox.com&rece iver_id=TESTSELLERID1&residence_country=US&item_na me=something&item_number=2&quantity=1&shipping=3.0 4&tax=2.02&mc_currency=USD&mc_fee=0.44&mc_gross=12 .34&txn_type=web_accept&txn_id=49922914&notify_ver sion=2.1&custom=Brouls&invoice=abc1234&charset=win dows-1252&verify_sign=AjQLQxVCBdiKuQG6jCNbkOyyNVGGA00uJ uJ3rEWHvo-62ejXeGP-Ndg.
    EDIT

    Io ho ancora il problema. Ripeto: non c' un supporto tecnico di AV dove ricevere risposte pi rapide? Altrimenti sar costretto a cambiare dominio
    Ultima modifica di Brouls : 23-09-2010 alle ore 10.09.31

  19. #19
    Guest

    Cool soluzione sandbox.paypal

    Ciao Brouls, io ho provato in questa maniera e mi restituisce VERIFIED...
    nel tuo codice, e pi precisamente nell'header devi scrivere questo:
    Codice PHP:
    $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Host: www.sandbox.paypal.com:80\r\n";
    $header .= "Content-Length: " strlen($req) . "\r\n\r\n";
    $fp fsockopen ('www.sandbox.paypal.com'80$errno$errstr30); 
    in pratica fare il collegamento sulla porta 80 e non la 443...

    Ciao Apollo982

  20. #20
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    per poi il pagamento va a buon fine? perch a me al supporto di PayPal mi hanno detto che la porta deve necessariamente essere la 443. Ti cito la loro frase:

    fsockopen dev'essere abilitato nel server in quanto la porta dev'essere 443. Ti consiglio di contattare Altervista o vedere nei loro forum.
    Non vorrei che poi mi crei problemi a registrare il pagamento.

    Ad ogni modo ti ringrazio molto per la risposta :)

    Edit

    Con la porta 80 effettivamente ottengo un messaggio HTTP 200 OK, ma lo stesso lo script non mi entra nel ciclo

    if (strcmp ($res, "VERIFIED") == 0) {

    Puoi postarmi il tuo esatto script con il quale ti entrato in quel ciclo?

    Grazie mille

    EDIT
    apollo riesci a darmi il codice?
    Ultima modifica di musicanapoli : 28-09-2010 alle ore 04.04.58

  21. #21
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Metti tutto quello che ottieni in un file, cos hai modo di visualizzare tutta la richiesta di PayPal e magari capiamo perch non contiene la stringa VERIFIED.


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  22. #22
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    con tutto quello che ottineni cosa intendi? il contenuto di $fp dopo la funzione fputs? o altro?

  23. #23
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Intendevo il contenuto di $res


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  24. #24
    Brouls non  connesso Utente giovane
    Data registrazione
    05-05-2007
    Messaggi
    37

    Predefinito

    !!! Adesso entra...ma qualcuno ha toccato qualcosa? Io lo script non l'ho cambiato di una virgola.....adesso faccio i dovuti tentativi per il database ma sembra essere tutto a posto :)

    Grazie comunque a chiunque abbia risposto in questa discussione

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •