我想知道Magento在paypal_express成功付款后返回时如何保存订单

时间:2016-02-22 15:04:21

标签: magento paypal

这是我最新项目的一个条件,我必须以编程方式通过Paypal Express成功付款后创建订单。

当我通过Magento正常流程执行此操作时,它工作得非常好,但我想以编程方式自行完成。

我尝试过此操作,但是错误的是付款方式不可用。

$quote->collectTotals();
$service = Mage::getModel("sales/service_quote", $quote);
$service->submitAll();
$order = $service->getOrder();
if($order) {
    Mage::dispatchEvent("checkout_type_onepage_save_order_after", array("order" => $order, "quote" => $quote));
    try {
        $order->sendNewOrderEmail();
    }
    catch(Exception $e) {
        Mage::logException($e);
    }
}

我也试过了,但没有任何作用

$quote = Mage::getModel("sales/quote")->setStore(Mage::getSingleton("core/store")->load(1))->load($shoppingCartId);
$checkout = Mage::getSingleton('paypal/express_checkout', array(
    'config' => Mage::getModel('paypal/config', array(Mage_Paypal_Model_Config::METHOD_WPP_EXPRESS)),
    'quote'  => $quote,
));
$detailsBlock = new Mage_Paypal_Block_Express_Review_Details();
$detailsBlock->setQuote($quote);
$checkout->updateShippingMethod("ups_GND");
$session->setLastQuoteId($shoppingCartId)->setLastSuccessQuoteId($shoppingCartId);
$order = $checkout->getOrder();
if ($order){
    $session->setLastOrderId($order->getId())->setLastRealOrderId($order->getIncrementId());
    echo "<br>".$order->getData();
}

非常感谢任何帮助。 :)

0 个答案:

没有答案