Доброго дня.
Разрабатываю сервис предостовления информационных услуг на определенный период. Ubercart выбрали как базовое решение. Пользователь создаётся в процессе checkout заказа, оплата проводиться через paypal.
Когда необходимо предоставить услугу? Как мы можешь словить, что заказ полностью завершён, включая оплату?
hook_uc_checkout_complete - Не подходит.
hook_uc_order - Так часто вызывается ...
Спасибо.
Комментарии
hook_uc_order будет наверняка, ловит любые движняки, передаёт ордер в параметрах, ты просто проверяешь операцию, статус ордера, если завершён, а услуга не оказана - клиент твой.
А вызывается он многими модулями в любом случае, просто сделай эффективную и быструю проверку.
другие варианты не так часты, но гарантируют большее количество телодвижений, например
hook_uc_payment_entered возникает при оплате, но не факт, что заказ будет завершён - нужно проверить баланс, возможно, что-то ещё.
Для эффективного отлова удобно использовать rules, уберкарт вызывает определенные правила в процессе работы с заказом, можно легко упасть на хвост.
Спасибо.
Реализовал через hook_uc_order. Если будет время планирую обкрнуть в action rules.