Visualizzazione dei risultati da 1 a 5 su 5

Discussione: notifica di paypal

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    111

    notifica di paypal

    salve a tutti, sto testando uno script per implementare un pagamento di paypal ma non mi funziona.
    lo script è su un hosting gratuito che usa la porta 80.

    lo script è il classico script php di paypal:

    $req = 'cmd=_notify-validate';
    foreach ($_POST as $key => $value)
    {
    $value = urlencode(stripslashes($value));
    $req .= "&$key=$value";
    }
    $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
    $header .= "Host: $url:80\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

    $fp = fsockopen ('ssl://$url', 80, $errno, $errstr, 30);

    if (!$fp)
    {
    // HTTP ERROR
    // $errstr - $errno
    $this->sendReport();
    return FALSE;
    }
    else
    {
    fputs ($fp, $header . $req);
    while (!feof($fp))
    {
    $res = fgets ($fp, 1024);

    if (strcmp($res, "VERIFIED") == 0)
    {
    fclose ($fp);
    return TRUE;
    }
    else if (strcmp ($res, "INVALID") == 0)
    {
    //se la procedura non è legittima invia un email all'amministratore
    $this->sendReport();
    fclose ($fp);
    return FALSE;
    }
    non tenete conte delle graffe.

    Lo script sembra abbia problema con la veriabile $res cioè non a ha nessun valore è come se fosse vuota infatti se al posto di "VERIFIED" scrivo "", lo script procede bene.
    in teoria il socket funziona perchè altrimenti lo script si dovrebbe interrompere prima: alla if (!$fp){errore} e quindi ho escluso il problema della porta 80 ma è come se paypal non mi inviasse nessun messaggio.
    è possibile che bisogna smanettare sulle impostazioni proprie di paypal?
    preciso che sto lavornado in ambiente sandbox.

    help me please!!

  2. #2
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    c'è un'impostazione da settare.
    Devi impostare l'IPN di paypal nel pannello amministratore tuo. In pratica devi dirgli a quale pagina inviare la notifica.
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    111
    grazie sir daniel mi potresti dire dove trovo il settaggio da fare in paypal (sandbox)? prima era in profilo -> preferenze per la notifica...
    ora dove l'hanno messo?
    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    111
    allora vediamo di capire:
    l'ndirizzo dove notificare è giusto e questo dato lo passo a paypal direttamente dalla mia form.
    l'errore che riscotro è questo:

    HTTP/1.0 302 Found
    Resource id #4

    se qualcuno sa aiutarmi...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    111
    metto in dettaglio cosa mi riportano le variabili dello script cambiando la porta da 80 a 443 la variabile $url è uguale a www.sandbox.paypal.com:
    - leggenda:
    a->$res
    b->$fp
    A->$errno
    B-> $errstr

    invio messaggio implementato dentro il while
    a-> Date: Wed, 07 Dec 2011 13:53:23 GMT
    b-> Resource id #4

    invio messaggio implementato subito dopo fsockopen
    A ->0
    B->

    invio messaggio implementato dentro il while
    a-> HTTP/1.0 500 Server closed connection without sending any data back
    b-> Resource id #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.