Augmenter la facture pour les commandes manuelles / téléphoniques où le paiement pris à l'extérieur de Magento

magento.stackexchange https://magento.stackexchange.com/questions/6551

Question

Que ce Défie la logique du traitement des commandes de Magento, je n'ai pas entièrement élaborés ...

Un client prend un certain nombre de commandes téléphoniques et prend leur paiement via un portail 3ème partie ou via un terminal de poche PDQ. Par la suite, les commandes sont soulevées dans Magento sans mode de paiement.

Les ordres sans mode de paiement, il semblerait qu'il est impossible de générer des factures pour ...?

Quelle serait l'approche recommandée pour la mise en œuvre de la capacité de factures soulèvent pour ces types d'ordres. L'extension fournie par la passerelle de paiement offres utilisées aucun moyen de gérer ces types d'ordres.

Y aurait-il une portée en essayant de générer automatiquement facture pour les commandes de l'endroit où il n'y a pas de méthode de paiement choisi peut-être - cela fonctionnerait

?

Ou serait-il possible de mettre en œuvre une méthode qui vous permet de créer une facture manuellement à tout moment contre une commande?

Merci à l'avance.

Était-ce utile?

La solution

Donc, si j'undertsand votre question, l'ordre est créé manuellement dans magento via l'interface d'administration?

Je n'ai pas fait moi-même, ne peut donc pas donner des détails précis, mais je pense que vous devez faire une « Offline capture »

voir cette page: http://www.magentocommerce.com/wiki/welcome_to_the_magento_user_s_guide/chapter_8

A partir de la page donnée:

Saisie hors ligne - Lorsque la facture est soumise, le système ne saisira pas le paiement. On supposera que le paiement va être capturé directement par la passerelle, et vous ne pourrez plus la possibilité de capturer ce paiement par Magento. Vous aurez la possibilité de créer une note de crédit, mais vous n'aurez pas l'option pour annuler la facture (même si l'Ordre a utilisé un paiement en ligne, la facture est essentiellement une facture hors ligne).

Additonally, ce blog de Inchoo montre comment le faire via le code:

Pour être complet (depuis les liens disparaissent du filet (GASP)) voici leur code:

(notez ceci est l'entrée de blog de Inchoo, pas de crédit à moi-même)

Peut-être que vous voulez créer une facture de un script personnalisé ou par le script Cron. Voici un exemple très utile de code. Tout d'abord, nous doivent charger un peu d'ordre sur le modèle « ventes / ordre », ce qui est très facile.

try {
if(!$order->canInvoice())
{
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice.'));
}
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
}
catch (Mage_Core_Exception $e) {
}

Vous remarquerez que nous avons mis l'option pour la capture en ligne. Ce option dépend de la méthode de paiement. Certaines méthodes de paiement support capture en ligne et certains ne le font pas. Si vous voulez hors ligne de capture jeu, vous pouvez faire qui avec code suivant la ligne:

$invoice->setRequestedCaptureCase(
Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE
);
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top