Pagamento con Paypal e ritorno di dati al sito

LorenzoC

Nuovo Utente
9 Mar 2012
14
0
0
Ciao a tutti, ho sviluppato un sito internet che in un secondo tempo il cliente mi ha chiesto di convertire in ecommerce.
Precisando che non uso cms e che quindi scrivo il codice tutto a mano, volevo capire se ho inteso bene la procedura:

1) raccolgo i dati dei prodotti con relativo totale € in un form che spedisce a paypal
HTML:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="#[email protected]">
<input type="hidden" name="lc" value="IT">
<input type="hidden" name="item_name" value="Ricarica il tuo credito">
<input type="hidden" name="tax" value="0.00">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="bn" value="WHMCS_ST">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="on0" value="Opzioni di acconto">

<select name="amount">
	<option value="10.00">Accredita € 10,00 EUR</option>
	<option value="20.00" selected="selected">Accredita € 20,00 EUR</option>
	<option value="50.00">Accredita € 50,00 EUR</option>
	<option value="100.00">Accredita € 100,00 EUR</option>
</select>

<input type="hidden" name="custom" value="#LungoCodiceAlfanumerico">
<input type="hidden" name="return" value="#reindirizzamento_a_pagina_recupero_dati">
<input type="hidden" name="cancel_return" value="#reindirizzamento_a_pagina_di_errore">

<input type="image" src="https://www.paypalobjects.com/it_IT/IT/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - Il sistema di pagamento online più facile e sicuro!">
<img alt="" border="0" src="https://www.paypalobjects.com/it_IT/i/scr/pixel.gif" width="1" height="1">
</form>

2) Sul sito di Paypal l'utente paga e poi auspicabilmente clicca sul link di ritorno al sito

3) Tornando al sito, paypal spedisce una serie di dati che con php elaboro e accredito automaticamente la somma richiesta.

Il mio problema è che spesso, gli utenti chiamano per dire che hanno pagato ma il software non ha registrato il credito. I soldi sono stati inviati correttamente ed è arrivata la mail di conferma di paypal.
Secondo me il motivo del problema sta nel fatto che dopo il pagamento non cliccano sul link di ritorno, ma chiudono il browser, oppure tornano al sito con la freccia Back del browser, quindi al mio sito non arrivano i dati da elaborare.
(I miei test con carta prepagata vanno a buon fine e vengono registrati automaticamente. Anche alcuni utenti non hanno problemi di sorta.)

E' normale questa procedura? Come si può risolvere la questione? Non c'è modo di ottenere i dati da paypal senza che l'utonto debba cliccare su un link?

C'entra qualcosa la voce opzionale di paypal?
<input type="hidden" name="notify_url" value="#url">

Grazie per l'assistenza in questa parte delicatissima di "maneggio denaro" del sito
Lorenzo
 
Ciao,
purtroppo hai scoperto un'amara realtà! Il problema del link di ritorno è reale, mi sono imbattuto più volte con i tecnici di Pay pal, la soluzione sarebbe PAGARE un conto per avere il redirect automatico...
Personalmente ho, diciamo, parzialmente risolto il problema, facendo un alert (con tanto di sintesi vocale) prima del redirect su Pay Pal che istruisce l'utente a cliccare su quel maledetto link (che è anche piccolo e nascosto). E comunque "giocare" anche su un db temporaneo, sul quale ti memorizzi uno stato di uscita dal sito e poi quest'ultimo viene resettato con il ritorno da pay pal al tuo sito. Se questa condizione non si verifica, tramite la funzione php mail() ti fai arrivare una meil che ti avvisa dell'accaduto ed eventualmente se in "sessione" puoi avvisare anche l'utente dell'anomalia sul pagamento...
Ciao
 
Salve a tutti,

scusate se mi intrometto nella discussione ma credo (il credo è perchè non sono ancora ferrato in questo genere di problematiche che a mio avviso vanno trattate con molta delicatezza) di avere un problema analogo. Mi spiego meglio sperando che qualcuno possa darmi una mano.

Ho realizzato un sito dove è possibile giocare ad un gioco di calcio manageriale online e sfidare così altri utenti. A questo punto ho constatato che il gioco piace a molti utenti con i quali sono in costante contatto per migliorie e componenti aggiuntivi che (visto il tempo che mi portano via) vorrei "offrire" a pagamento. Ho quindi fatto un conto paypal perchè vorrei che l'utente fosse garantito il più possibile, ho creato il pulsante di pagamento corredandolo delle varie funzioni tra le quali scegliere, ma quello che purtroppo non ho capito, nonostante ci stia sbattendo la testa da giorni, è come attribuire (in maniera automatica) le componenti richieste dall'utente.

Io utilizzo un database nel mio sito ed ogni utente è (ovviamente) identificato con id, pw, mail, ecc... ecco avrei la necessità di conoscere come (al momento del pagamento) attribuire a quel dato id le funzioni richieste (che in sostanza sono dei crediti speciali). Potreste darmi una mano in tal senso?

Spero di aver centrato l'argomento del topic.

Grazie per eventuali aiuti e buona domenica
 
@Lupen85

Devi gestire, attraverso le API di PayPal, la comunicazione di ritorno con la quale l'intermediario (PayPal) ti conferma dell'avvenuto pagamento.
In alternativa dei farlo "a mano": ti arriva il pagamento (al quale tu avrai assegnato un ID) ed a mano, attraverso un pannello di controllo che sicuramente avrai, lo attivi scatenando le varie operazioni.
 
Ti ringrazio infinitamente per la risposta. Ho il gap che non ci capisco molto quindi mi sono andato a cercare come richiedere le credenziali API e le ho ottenute...
Se non è troppo posso chiederti come mi devo muovere adesso?
Nel mio sito gli utenti sono loggati. Questo penso che sia un problema per questa fattispecie visto che la controprestazione andrà data ad un particolare id (cioè quello che effettua il pagamento). Io ho predisposto una finestra popup. Cliccando su un bottone si apre il popup nella cui pagina ho inserito il pulsante paypal (che ho impostato secondo le mie esigenze). Nel particolare è un pulsante connesso con un elenco a discesa dal quale si può selezionare il tipo di servizio richiesto che nel mio caso è dato da giorni di account speciale (al quale sono connesse determinate funzioni vantaggiose nel gioco). Adesso come mi potrei muovere per far si che le API mi inviino il codice dell'utente che effettua il pagamento?
Grazie davvero mille!!!
 

Discussioni simili