Как узнать, оплачен ли заказ? Когда «состояние» означает «обработка»?

8

Я использую Magento 1.6.2.

Мне нужно определить, оплачен ли заказ. Если да, я генерирую некоторые данные XML для экспорта. Есть много случаев в процессе заказа / оплаты / отгрузки Magento.

Мое первое предположение - когда атрибут «состояние» заказа определен как «обработка», но я не уверен из-за большого количества возможностей в этом рабочем процессе. Может быть, этот случай не охватывает все возможности ...

Я прав с этим?

guillaume_shm
источник
Проверьте, есть ли счет, сгенерированный для заказа.
Мариус
Просто счет? Других вещей нет? Я удивлен, это кажется слишком простым, чтобы быть настоящим ага. Спасибо за помощь!
guillaume_shm
Обычно наличие счета означает, что он оплачен.
Мариус
Этого недостаточно во всех случаях, так как счет может быть неоплаченным. И возможно, что счет-фактура не охватывает все заказанные товары, поэтому может быть несколько счетов-фактур.
Андреас фон Студниц
Проверка состояния может выполняться в зависимости от вашего рабочего процесса, но состояние «обработка» также может означать, что заказ отправлен, но еще не оплачен. Я бы не использовал это.
Андреас фон Студниц

Ответы:

22

Вы можете позвонить $order->getBaseTotalDue(). Если это 0, заказ полностью оплачен.

Андреас фон Студниц
источник
Спасибо, Андреас, кажется, этот ответ больше всего подходит для моего ответа.
guillaume_shm
1

См. Ответ Андреаса о том, как определить, осталось ли что-то заплатить. Чтобы ответить на ваш другой вопрос - использование обработки == недостаточно. Быстрая проверка, чтобы показать это, это отправить неоплаченный заказ - это также переместит заказ в состояние обработки, даже если заказ все еще не оплачен.

Кристоф в Фуман
источник