Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23

Discussione: Domanda PostPay

  1. #11
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    codice:
    <form method="post" name="paypal_form" action="https://www.sandbox.paypal.com/cgi-bin/webscr"> 
    <input type="hidden" name="business" value="email.venditore@suoprovider.it" /> 
    <input type="hidden" name="cmd" value="_xclick" /> 
     
    <input type="hidden" name="return" value="<?php echo "http://".$_SERVER['HTTP_HOST']; ?>/shop/conferma_pagamento.php" /> 
    <input type="hidden" name="cancel_return" value="<?php echo "http://".$_SERVER['HTTP_HOST']; ?>/shop/cancel.php" /> 
    <input type="hidden" name="notify_url" value="<?php echo "http://".$_SERVER['HTTP_HOST']; ?>/shop/ipn.php" /> 
    <input type="hidden" name="rm" value="2" /> 
    <input type="hidden" name="currency_code" value="EUR" /> 
    <input type="hidden" name="lc" value="IT" /> 
    <input type="hidden" name="cbt" value="Continua" /> 
     
    <input type="hidden" name="shipping" value="7.00" /> 
    <input type="hidden" name="cs" value="1" /> 
    
     <input type="hidden" name="item_name" value="Guida PayPal IPN con PHP" /> 
    <input type="hidden" name="amount" value="100.00" /> 
     
    <input type="hidden" name="custom" value="ABR24" /> 
     
    <input type="text" name="first_name" /> 
    <input type="text" name="last_name" /> 
    <input type="text" name="address1" /> 
    <input type="text" name="city" /> 
    <input type="text" name="state" /> 
    <input type="text" name="zip" /> 
    <input type="text" name="email" /> 
     
    <input type="image" src="http://www.paypal.com/it_IT/i/btn/x-click-but01.gif" border="0" name="submit" alt="Paga subito con PayPal" /> 
    </form>
    Vorrei sapere quando viene contattato lo script IPN.php e l'utilita delle altre due pagine...

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    1. "return" è chiamato alla chiusura del pagamento da parte dell'utente
    2. "cancel_return" è chiamato se l'utente annulla il pagamento
    3. "notify_url" è chiamato alla conferma della ricezione del pagamento

    La differenza tra 1 e 3 è data dal fatto che la ricezione non avviene in tempo reale... p.es. potrebbe esserci un ritardo nella conferma della disponibilità sulla carta di credito. La 1 è richiamata se non ci sono errori formali nella procedura, ma alla ricezione effettiva viene richiamata la 3, che è l'unica che può avere la certezza del passaggio della somma (se non ci sono problemi temporalmente sarà quasi una chiamata sequenziale, ma possono passare ore o giorni, teoricamente).

    La 3 NON ha un'interfaccia per l'utente: è un url che di fatto può eseguire un tuo script, ma non deve presentare output html perchè è richiamata con una connessione server-server indipendentemente da un client.

  3. #13
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Quindi per l'aggiunta delle monete virtuali posso aggiungerla sul primo redirect? cioe il return?

  4. #14
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    no.

    su "notify_url".

    "return": non è detto che il pagamento sia andato a "buon fine"... è un url da usare come "pagina di cortesia/conferma" per l'utente

    forse il tuo problema è di "sincronia", ma il pagamento è asincrono.

  5. #15
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Su notify non devo lasciare il file ipn.php?
    Se hai skype forse è meglio parlarne la D:

  6. #16
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    no "ipn.php" è un tuo script che può gestire la risposta di conferma-pagamento: nei docs è spiegato che parametri vengono passati e come fare i controlli di sicurezza (e ci sono anche script di esempio): i controlli servono perchè ovviamente lo script deve avere la garanzia di ricevere una chiamata dal sistema di paypal e di non essere invocato "manualmente" in maniera maligna... è un tuo script

  7. #17
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Vabbe seguo i docs allora

  8. #18
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    Ciao nella documentazioni ho trovato IPN

    Codice PHP:
    <?php 

    // Legge la richiesta dal sistema PayPal
    $req 'cmd=_notify-validate';

    foreach (
    $_POST as $key => $value
    {
        
    $value urlencode(stripslashes($value));
        
    $req .= "&$key=$value";
    }

    // Convalida transazione dal sistema PayPal
    $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 ('ssl://www.paypal.com'443$errno$errstr30);

    // Assegnazioni variabili temporane a variabili locali
    $item_name $_POST['item_name'];
    $item_number $_POST['item_number'];
    $payment_status $_POST['payment_status'];
    $payment_amount $_POST['mc_gross'];
    $payment_currency $_POST['mc_currency'];
    $txn_id $_POST['txn_id'];
    $receiver_email $_POST['receiver_email'];
    $payer_email $_POST['payer_email'];

    if (!
    $fp
    {
        
    // HTTP ERROR

    else 
    {
        
    fputs ($fp$header $req);
        
        while (!
    feof($fp)) 
        {
            
    $res fgets ($fp1024);
            if (
    strcmp ($res"VERIFIED") == 0
            {
                
    // verifica il payment_status è completato
                // verifica che txn_id has non è stato precedentemente processato
                // verifica che receiver_email è la tua prima email Paypal
                // verifica che payment_amount/payment_currency sono corretti
                // procede al pagamento
            
    }
            else if (
    strcmp ($res"INVALID") == 0
            {
                
    // registro per le indagini manuale
            
    }
        }
        
        
    fclose ($fp);
    }

    ?>

  9. #19
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    completando il codice nel ramo "VERIFIED" puoi aggiungere le tue azioni "manuali" di incremento-crediti

  10. #20
    Utente di HTML.it L'avatar di SoNuS
    Registrato dal
    Feb 2011
    residenza
    Puglia
    Messaggi
    71
    e non bisogna fare altro?

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.