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


8

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

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

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

Я прав с этим?


Проверьте, есть ли счет, сгенерированный для заказа.
Мариус

Просто счет? Других вещей нет? Я удивлен, это кажется слишком простым, чтобы быть настоящим ага. Спасибо за помощь!
guillaume_shm

Обычно наличие счета означает, что он оплачен.
Мариус

Этого недостаточно во всех случаях, так как счет может быть неоплаченным. И возможно, что счет-фактура не охватывает все заказанные товары, поэтому может быть несколько счетов-фактур.
Андреас фон Студниц

Проверка состояния может выполняться в зависимости от вашего рабочего процесса, но состояние «обработка» также может означать, что заказ отправлен, но еще не оплачен. Я бы не использовал это.
Андреас фон Студниц

Ответы:


22

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


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

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.