[Help]Creare un semplice bottone/shop con controllo paypal IPN

Stato
Discussione chiusa ad ulteriori risposte.

TheDragster

Utente Palladium
12 Aprile 2011
4,348
202
893
1,626
Vorrei creare un semplice bottone che reindirizza ad una donazione paypal,
Se l'utente effettua la donazione, viene reindirizzato(col notify url) ad una pagina che fa vari controlli, e se sono stati effettuati tutti con successo(e quindi il pagamento è stato effettuato), esegue una query SQL.
Il bottone non sarà uno solo, ma ce ne saranno altri, però il procedimento è lo stesso, solo che aumenta il valore nella query SQL e ovviamente il pagamento da effettuare su Paypal, e se devo fare altre 100 pagine per farli non è un problema, metto tutto in una cartella del sito.

Sarete così gentili da aiutarmi?
Magari se mi lasciate il contatto skype finiamo in 10 minuti..
Ne ho bisogno urgente.
 
Crei il pulsante dal sito di paypal (premetto che l'ho trovato in giro, puoi generartelo anche dal sito):
HTML:
<form method="post" name="paypal_form" action="https://www.sandbox.paypal.com/cgi-bin/webscr">
<input type="hidden" name="business" value="[email protected]" />
<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" />

  
<!-- informazioni sul prodotto -->
<input type="hidden" name="item_name" value="Guida PayPal IPN con PHP" />
<input type="hidden" name="amount" value="100.00" />
  
<!-- informazioni sulla vendita -->
<input type="hidden" name="custom" value="ABR24" />
 
<!-- pulsante pagamento -->
<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>

La prima linea in grassetto "notify_url" contiene l'url che viene chiamata quando il pagamento è completato. Quindi creati un file sul server e chiamalo "ipn.php" e dentro mettici il codice che trovi qui.
Seconda linea in grassetto è il nome dell'oggetto e la terza il prezzo.
Quarta linea in grassetto ti può essere utile. Ad esempio in "value" ci metti l'id dell'account che sta effettuando il pagamento cosi' puoi poi recuperarlo nel file ipn.php per accreditargli quello che gli devi accreditare.

Nel file ipn.php mettici quel contenuto e aggiungi il tuo codice sotto:
PHP:
if (strcmp ($res, "VERIFIED") == 0) {
    // check whether the payment_status is Completed
    // check that txn_id has not been previously processed
    // check that receiver_email is your PayPal email
    // check that payment_amount/payment_currency are correct
    // process payment and mark item as paid.
    // assign posted variables to local variables
    //$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'];

Ovviamente togli i commenti a tutte quelle variabili cosi' puoi recuperare quei dati. Per recuperare il custom (nel nostro caso l'id dell'account che ha pagato) usa questo codice:
PHP:
$custom = $_POST['custom']

Ciao!

PS: Se è un itemshop per metin2 e hai qualche spicciolo da cazzare mandami un PM. Realizzo siti sia in php che in python.
 
Stato
Discussione chiusa ad ulteriori risposte.