Il problema, più che essere relativo alla protezione dei file (.htaccess, script php che sovrintende il download) è relativo alla sicurezza di paypal.

Mi spiego meglio: se io mi affido solo al link di ritorno per verificare se il pagamento è andato a buon fine, il cracking del sistema è banale e, potenzialmente, potrei scaricare tutto quello che voglio da un sito di questo tipo senza effettuare alcun pagamento.

Mi basta vedere il codice HTML del bottone di paypal, recuperare i dati che tu gli passi come variabili di GET, andare alla pagina che tu hai definito come essere quella di ritorno e passarle in GET i dati che ho recuperato dal codice: senza passare da paypal, quindi senza pagare, il server pensa che il pagamento sia andato a buon fine e mi fa scaricare quello che DOVREI aver pagato.

Non ti pare?

WorldPay so che usa una password di controllo mentre BancaSella usa un controllo con password usa e getta (se non ricordo male).

PayPal ha qualcosa del genere?