Я создаю электронную коммерцию и использую PayPal Checkout в качестве способа оплаты.
У меня проблемы с обработкой некоторых крайних случаев, связанных с доступностью продукта.
Чтобы избежать покупки одного и того же продукта несколькими людьми, у меня есть две стратегии:
Заблокировать продукт, когда клиент начинает процесс оформления заказа через PayPal, и не дать никому другому его купить. Проблема с этим подходом состоит в том, что я хочу избежать того, чтобы кто-то запускал процесс PayPal, никогда не завершал его и не блокировал продукт, не покупая его. Я мог решить эту проблему, отменив заказ PayPal после определенного тайм-аута (что-то вроде 5 минут)
Проверьте наличие продукта в конце оформления заказа процесс . Это будет отлично работать, но мне нужно будет аннулировать заказ PayPal вместо его захвата, если продукт больше не доступен
В обоих случаях есть некоторые обстоятельства, когда мне нужно отменить заказ PayPal , и я не знаю, как это сделать.
Здесь, в официальной документации они предлагают аннулировать авторизованный платеж , но это не работает для моего варианта использования:
- Я использую платеж
capture
, потому что мне не нужен поток authorization
- У меня нет идентификатора авторизации
Я думаю, что моя ситуация должна быть стандартной, но я не смог найти здесь ничего в stackoverflow или в документации по этому поводу