Paypal PDT (перенаправление после оплаты) и IPN (за кулисами) - это именно то, что вам нужно.
Проверьте это: https://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/pdt-intro-outside
Вот пример кода для сценария, чтобы вы начали мгновенно:
https://www.paypal.com/us/cgi-bin/?cmd=p/xcl/rec/pdt-code-outside
Некоторые дополнительные советы по безопасности: проверить, сумму, валюту и продукт-идентификатор с данными вашей базы данных, чтобы сделать загрузку доступной. Откройте учетную запись paypal sandbox.
Не показывать местоположение: Использовать идентификатор заказа, подтвержденный pdt, как уникальный идентификатор загрузки. Вы должны использовать сценарий, как это: перенаправлять пользователя в ФДТ сценарий здесь или включить его в ФДТ, если платеж verrified:
<?
$orderid = $_GET['orderid'];
$productid = $_GET['productid'];
$time = $_GET['time_from_paypal']; // when the purchase was made
$fn = "files/".$productid.".mp3";
($time =here your conditional)?$do==true:$do==false;
if ($do==true){
header('Content-Disposition: attachment; filename=' . basename($fn));
readfile($fn);
} else {.....
?>
часть «здесь ваш условный» может быть что угодно. вы можете ограничить их загрузку в течение следующих x секунд после оплаты. обычно обработка с paypal занимает максимум 20 секунд. поэтому, если вы хотите, чтобы загрузка была сделана только один раз, проверьте, что время платежа и фактическое время расходятся менее 30 секунд. из-за перенаправления пользователь получает загрузку сразу после того, как платеж проверен. написал, но не проверен
Спасибо; это именно то, что я ищу – DGund