从magento的paypal自动捕获付款

时间:2013-04-18 12:53:57

标签: magento paypal

我使用的是magento 1.7.0。 我在我的magento商店中集成了paypal。我在paypal快速结账方式中选择了payment_action授权。现在我想在两天后自动获取付款。是否有任何解决方案如何自动获取付款?

2 个答案:

答案 0 :(得分:0)

我不确定是否有设置在Magento中说2后自动捕获付款,但如果您想使用PayPal的DoCapture API,您可以创建自己的界面。如果要自动执行该过程,可以创建一个脚本来执行此操作并设置一个cron作业来检查事务的日期并执行捕获。

答案 1 :(得分:0)

看看@ http://www.sumoheavy.com/capturing-payment-on-shipment-creation-magento/http://inchoo.net/ecommerce/magento/magento-orders/automatically-invoice-ship-complete-order-in-magento/

创建一个magento cron作业(see)。在您的cron职位搜索所有超过2天且少于'X'天的订单,付款方式为paypal,订单状态为pending

//$orders = get order filter see http://stackoverflow.com/questions/11042343/magento-get-all-orders-numbers-shipped-as-overnight-between-two-dates

foreach($orders as $order){
    if(check payment type and status){

        if (!$order->canInvoice()) {
                return $this;
        }

        $invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
        if (!$invoice->getTotalQty()) {
                return $this;
        }


        $invoice->setRequestedCaptureCase('online');
        $invoice->register();
        $invoice->getOrder()->setIsInProcess(true);
        $transactionSave = Mage::getModel('core/resource_transaction')
        ->addObject($invoice)
        ->addObject($invoice->getOrder());

        $transactionSave->save();
    }
}