Jump to content

Factuur laten uploaden naar andere FTP server


Jesper

Recommended Posts

Goedemiddag,

Ik zou graag willen dat mijn facturen automatisch worden geupload nadat de betaling is voltooid naar een andere FTP server. Hoe kan ik dit bereiken?

Ik heb al gekeken bij PaymentModule.php maar als ik probeer met mail(); een test te sturen doet hij niks als ik een bestelling maak en op betaald zet.

Zou iemand me vooruit kunnen helpen?

Link to comment
Share on other sites

Beste Jesper,

Je zou deze module kunnen gebruiken:
https://addons.prestashop.com/nl/migratie-backup/29183-save-invoices-dropbox-google-drive-and-locally.html

En daarnaast eventueel een lftp verbinding kunnen opzetten om je bestanden met mirror over te zetten middels een cronjob.

Hier wat voorbeelden met lftp:
http://lftp.yar.ru/lftp-man.html
https://www.cyberciti.biz/faq/lftp-mirror-example/
https://gist.github.com/pixeline/0f9f922cffb5a6bba97a

 

  • Like 1
Link to comment
Share on other sites

Hallo,

Bedankt voor je reactie, echter heb ik zelf ervaring met PHP en dus zou ik het zelf kunnen maken, ik weet alleen niet waar ik het verzenden van de mail kan vinden die de pdf mee stuurt zodra je betaald hebt zodat ik daar de factuur pdf van af kan "jatten" en uploaden naar een FTP.

Link to comment
Share on other sites

Beste Jesper,

Voor het genereren van de pdf wordt de classe PDF.php gebruikt. Zoek maar eens door je code met new PDF. Met de functie render wordt dan de pdf gegenereerd.

$file_attachement['content'] = $pdf->render(false); (hiermee wordt de pdf aan het mail object gekoppeld.)
Het object Mail wordt in PaymentModule.php gebruik om dan vervolgens mail te versturen. Daarmee zou je het moeten kunnen oplossen.

Succes er mee.

Link to comment
Share on other sites

// Join PDF invoice
if ((int)Configuration::get('PS_INVOICE') && $order_status->invoice && $order->invoice_number) {
	$order_invoice_list = $order->getInvoicesCollection();
	Hook::exec('actionPDFInvoiceRender', array('order_invoice_list' => $order_invoice_list));
	$pdf = new PDF($order_invoice_list, PDF::TEMPLATE_INVOICE, $this->context->smarty);
	$file_attachement['content'] = $pdf->render(false);
	$file_attachement['name'] = Configuration::get('PS_INVOICE_PREFIX', (int)$order->id_lang, null, $order->id_shop).sprintf('%06d', $order->invoice_number).'.pdf';
	$file_attachement['mime'] = 'application/pdf';
	file_put_contents(_PS_ROOT_DIR_."orders/factuur-{$file_attachement['name']}.pdf", $file_attachement['content']);
} else {
	$file_attachement = null;
}

Enig idee waarom er niks word geüpload? Rechten zijn ingesteld op 777 op de folder "orders"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...