Php Magento:订单已生成发票,但';到期总金额'&燃气轮机;0

Php Magento:订单已生成发票,但';到期总金额'&燃气轮机;0,php,magento,invoice,Php,Magento,Invoice,我有一个live Magento 1.5.0.1 webshop,存在以下问题: 我们已收到一份订单,该订单已通过iDEAL(荷兰在线支付服务)支付,并且已在付款成功时自动生成发票。我们还收到了银行账户上的金额 唯一的问题是,我们无法完成订单,因为“到期总额”字段的金额大于0(零)。这一定是我们理想模块中的一个bug(将在下一时刻处理) 是否有办法“强制”此特定订单“完成”,并将“到期总额”字段设置为0 显然,这样做的PHP代码示例非常受欢迎(我自己也是一名程序员)。这可能会对您有所帮助 我们其

我有一个live Magento 1.5.0.1 webshop,存在以下问题:

我们已收到一份订单,该订单已通过iDEAL(荷兰在线支付服务)支付,并且已在付款成功时自动生成发票。我们还收到了银行账户上的金额

唯一的问题是,我们无法完成订单,因为“到期总额”字段的金额大于0(零)。这一定是我们理想模块中的一个bug(将在下一时刻处理)

是否有办法“强制”此特定订单“完成”,并将“到期总额”字段设置为0

显然,这样做的PHP代码示例非常受欢迎(我自己也是一名程序员)。

这可能会对您有所帮助

我们其中一个模块的示例:

$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
if ($order->getTotalPaid() == 0) {
    $invoice = $order->prepareInvoice();
    $invoice->register()->capture();
    Mage::getModel('core/resource_transaction')
        ->addObject($invoice)
        ->addObject($invoice->getOrder())
        ->save();
    $order->save();
这将检查付款是否尚未注册(用户可以通过多点单击发送多个成功请求),然后创建发票、注册发票、捕获并保存发票和订单

编辑1

private function markOrderPayd($incrementId, $status) {
        $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
        if ($order->getTotalPaid() == 0) {
            ... 
            $order->save();
            $invoice = $order->prepareInvoice();
            $invoice->register()->capture();
            ...
            Mage::getModel('core/resource_transaction')
                ->addObject($invoice)
                ->addObject($invoice->getOrder())
                ->save();
            $order->save();
            ...

        } else {
            ...
            $order->save();
        }
}

我猜您没有支票,因此生成了两张发票。

这张应付总额有多大?这和原来的一样吗?或者可能是0.01?它与总计相同(因此大于0.01),顺便说一下,支付的总计是0.00(这不是真的,因为订单已经支付)。非常感谢!!订单已完成,“到期总额”=0,已付款总额==总计。唯一的问题是,我有两张发票和一张订单,但我可以接受;)谢谢,但我不完全明白。您使用resource_事务来完成订单,然后必须创建发票。已经有一张发票了,但不知怎么的,这张发票没有被正确捕获。有没有办法不创建额外发票并标记此订单已完成?请检查if($order->getTotalPaid()==0){。所以,如果它支付了,那么就不需要生成发票。我不知道该在哪里更改?有人能帮我吗?谢谢!在我的情况下,遗漏的是COD费用。在我继续运行此代码之前,您能解释一下哪些项目将添加到发票中吗?我想第二张发票应该包含总计为0的COD费用,对吗?