Я бы сказал, что первая часть вашей стратегии верна - при переходе на страницу оплаты пометьте все продукты как «на удержании»
Когда пользователь завершит платеж, вы получитеобратный ответ от Paypal, который позволяет узнать, была ли авторизация успешной или нет (и, возможно, также позволяет проверить результат CSC / CVV2), и в этот момент у вас есть возможность либо принять платеж, либо отклонить его.
При получении постбэка вы также должны проверить, находятся ли предметы в режиме ожидания.Если время ожидания истекло, вы можете отклонить платеж и отобразить сообщение «извините - превышено время ожидания» или что-то в этом роде.
Этот метод также позволяет вам определить идеальный период ожидания, если вы отслеживаете частоту запуска клиентов.в тайм-аут, так что вы можете увеличить тайм-аут с (например) 5 до 10 минут, если слишком много тайм-аутов, или сократить его, если ни один не тайм-аут.