therouv / Magento-DebitPayment

DebitPayment Extension for Magento
http://www.magentocommerce.com/magento-connect/debitpayment.html
27 stars 24 forks source link

Bestellung mit Debit per PHP erstellen / create order with debit payment programmatically #74

Closed michihu closed 9 years ago

michihu commented 9 years ago

Hallo,

ich versuche Bestellungen per PHP zu generieren und dabei die Zahlart debit zu verwenden (sepa). Wenn ich in der Order-Generierung einfach

        $orderPayment = Mage::getModel('sales/order_payment')
                ->setStoreId($storeId)
                ->setCustomerPaymentId(0)
                ->setMethod('debit')
                ->setPo_number(' - ');
        $order->setPayment($orderPayment);

mache, dann nimmt er zwar Lastschrift als Zahlart, überschreibt aber die Bankdaten des Nutzers mit nichts und zeugt daher auch keine Bankdaten an.


Hello, I am trying to generate orders in magento with debit as payment method programmatically. but if I simply do

        $orderPayment = Mage::getModel('sales/order_payment')
                ->setStoreId($storeId)
                ->setCustomerPaymentId(0)
                ->setMethod('debit')
                ->setPo_number(' - ');
        $order->setPayment($orderPayment);

then it sets payment method to debit but no bankdata is in the order and also the customer bank data is overwritten with empty fields.

Anybody knows how to do this properly? thanks

michihu commented 9 years ago

Da es scheinbar nicht so einfach geht ein workaround:

erst Bestellung mit invoice erstellen, dann schauen ob bankdaten beim Kunden hinterlegt sind. ist dies der Fall folgt ein update via sql:

        if ($IBAN != "")
        {
            // Step 3
            $update_query = "UPDATE sales_flat_order_payment SET method = 'debit',
            cc_owner = '".$account_name."',
            debit_swift = '".$swift."',
            debit_iban = '".$IBAN."',
            debit_type = 'sepa',
            debit_bankname = '".$bank_name."'
            WHERE parent_id = '".$order_id."'";

            $writeConnection->exec($update_query);
        }
    }