Я не думаю, что вы сможете сделать то, что вы хотите, за один шаг с подходом, который вы используете, потому что ваш код не может узнать, действительно ли транзакция успешно завершена или нет.
Я думаю, что единственный способ, с помощью которого будет работать вышеуказанный подход, - это если вы автоматически не отправите их в файл, за который они заплатили.
Вместо этого им придется подождать, пока вы подтвердите свою транзакцию через Paypal, а затем отправите им ссылку для загрузки по электронной почте.
Вероятно, все это может быть сделано автоматически с использованием Paypal API . Я не очень знаком с API Paypal, но он должен работать примерно так:
- Пользователь решает что-то купить у вас
- Вы запускаете транзакцию, которая отправляет пользователя в Paypal и, по-видимому, генерирует некоторый идентификатор транзакции.
- Пользователь платит (или решает отменить и / или не платить)
- Пользователь возвращается на ваш сайт
- Вы берете идентификатор транзакции и подтверждаете, что платеж прошел успешно
- Если платеж прошел успешно, предоставьте пользователю то, за что он заплатил.