Categories: Magento

Magento e ordini in pending payment paypal

Reading Time: 2 minutesAggiungi ai preferiti

Chi utilizza Magento e PayPal come sistema per la ricezione dei pagamenti si sarà certamente trovato di fronte al problema degli ordini in “pending payment paypal”, ossia quegli ordini il cui pagamento non è stato concluso dal cliente.

Facciamo un piccolo passo indietro.

In Magento la procedura di registrazione di un ordine prevede le seguenti fasi:

  1. l’inserimento delle informazioni di fatturazione
  2. l’inserimento delle informazioni di spedizione
  3. informazioni di pagamento
  4. riepilogo ordine
  5. pagamento

Quando si arriva al punto 4) della procedura Magento registra l’ordine e lo mette “in attesa di pagamento” o “in attesa di pagamento paypal” se si è scelto di pagare tramite paypal.

Selezionato PayPal al punto 4) e cliccato su conferma al punto 5) si viene reindirizzati sul sito PayPal e qui si può

  1. pagare, scegliendo tra l’utilizzo di un conto PayPal o della propria carta di credito; a pagamento effettuato si viene reindirizzati sul sito del commerciante, in una pagina che conferma l’ordine
  2. annullare l’operazione, cliccando sull’apposito link “Annulla”; al click si viene reindirizzati sul sito del commerciante
  3. non pagare e non annullare, ma semplicemente chiudere la pagina o il browser

 

Nei casi 1) e 2) Magento registra rispettivamente l’ordine come “In lavorazione” e “Annullato”.

Nel caso 3) Magento non sa cosa fare e l’ordine rimane nello stato impostato al momento della registrazione, “in attesa di pagamento paypal” se si è scelto di pagare tramite paypal e non c’è modo di pagare l’ordine tramite paypal se non ricevendo un link direttamente dal venditore.

Sarebbe utile un link a PayPal per il pagamento dell’ordine accessibile direttamente dalla Dashboard dell’account cliente? Pensiamo di si e lo abbiamo inserito nella scheda dell’ordine nel modo seguente.

Innanzitutto abilitiamo nella Dashboard gli ordini in “pending”

Quindi apriamo il file /app/design/frontend/base/default/template/sales/order/info.phtml o lo stesso file del vostro template e modifichiamo il DIV con class “box-content” in questo modo

getStore()->getCurrentCurrencyCode(); 
$gTotal = round($_order->getGrandTotal(), 2); 
if($_order->getStatus() == 'pending_payment'):
 //get paypal email
 $paypalEmail = Mage::getStoreConfig('paypal/general/business_account');
?>
Paga subito con getPaymentInfoHtml() ?> 
getPaymentInfoHtml();
endif; ?>

Ecco il risultato

Provato su Magento CE 1.7.0.2 e 1.6.2.0

 

Abbiamo sviluppato un modulo che oltre ad attivare il pagamento per ordini in pending payment paypal, a pagamento ricevuto, permette di cambiare stato all’ordine e di emettere in automatico la fattura.

wallaceer

Recent Posts

Esclusione di prodotti da una regola a catalogo in Magento 2

Reading Time: < 1 minute Esclusione di una serie di prodotti selezionati tramite l'apposito menù…

2 anni ago

Traduzione di testo con googletranslate

Reading Time: < 1 minute Nel video che vedete di seguito, a titolo di esempio,…

2 anni ago

Restart di php-fpm con capistrano dopo un deploy

Reading Time: 2 minutes Vediamo come è possibile fare il restart di php-fpm con capistrano…

3 anni ago

Manifesto per lo Sviluppo Agile di Software

"Stiamo scoprendo modi migliori di creare software,sviluppandolo e aiutando gli altri a fare lo stesso.Grazie…

3 anni ago

Security patch for Shopware 6

Shopware ha rilasciato una security patch in grado di colmare alcune lacune di sicurezza per…

3 anni ago

E-commerce ed omnicanalità

Il tema e-commerce ed omnicanalità ha sostituito l'ormai obsoleta multicanalità, vediamo di cosa si tratta.…

3 anni ago