Pagina 1 di 1

Integrazione Paypal IPN v 2.3.4.7 con Print Order v1.5

Inviato: 06/09/2009, 17:23
da nick
Ciao,

Ho installato la PayPal_IPN ver 2.3.4.7 e per i test fatti fino ad ora pare che funzioni bene. Tuttavia ho una domanda e un problema:

1. La guida di installazione della contribution 2679 dice:
"If you have SSL enabled, then you won't need to set up encrypted web payments as the payment module automatically uses SSL if available."
Questo CREDO sia il mio caso (ma non sono sicuro di che cosa si intenda....) e quindi ho settato "Enable Encrypted Web Payments" a "False".
La mia domanda è: come faccio adesso a verificare se realmente sta funzionando l'encryption tra paypal ed il mio server ?

2. Ho anche installato la contribution Print Order Receipt v1.5 (2379) e aggiunge un print button sia alla fine della pagina customer history page, sia nella checkout success page, il quale consente al cliente di stampare una ricevuta dell'ordine.
Purtroppo - dopoa ver installato PayPal_IPN - quando un ciente sceglie come metodo di pagamento Paypal (IPN), una volta che ritorna al mio sito alla pagina checkout_success.php il bottone Print Order Receipt non mostra la ricevuta cosrrispondente all'oID appena processato, ma si riferisce ad uno più vecchio (l'ultimo ordine fatto con altro sistema di pagamento che non dirotta su PAypal).
Sembra che dopo essere stato ridiretto su PAypal per il pagamento, l'oID non venga ritrasmesso alla pagine checkout_sucess.
Di seguito le linee di codice aggiunte dalla contribution PRinto Order Receipt ai file checkout_success.php e checkout_process.php:

CHECKOUT_SUCCESS

Codice: Seleziona tutto

// Print Order Receipt v1.5 - Start
?>
<script language="javascript"><!--
function popupPrintReceipt(url) {
  window.open(url,'popupPrintReceipt','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,height=500,width=750')
}
//--></script>
<?php
// Print Order Receipt v1.5 - End

.......

<?php // Print Order Receipt v1.5 - Start // ?>
<td><div style="float:left"><a href="javascript:popupPrintReceipt('<?php echo tep_href_link(FILENAME_ORDERS_PRINTABLE2, 'oID=' . $last_order); ?>')"><?php echo tep_image_button('button_print_order.gif', IMAGE_BUTTON_PRINT_ORDER) . '</a>'; ?></div><div style="float:right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></div>
        </td>
<?php //Print Order Receipt v1.5 - End // ?>
CHECKOUT_PROCESS

Codice: Seleziona tutto

//Print Order Receipt v1.5 - Start//
  tep_session_register('last_order');
  $last_order = $insert_id;
  $oID = $last_order;
//Print Order Receipt v1.5 - End//
Suppongo che - come suggerito dalla instalation guide di Paypal IPN alla sezione "Integration with other contribution" - il problema possa essere risolto modificando ipn.php e paypal_ipn.php in maniera simile a come è stato modificato checkout_process.php (dalla Print Order contribution), in quanto Paypal IPN "salta" questa pagina.
C'è qualcuno che sia passato per lo stesso problema o che riesca a suggerirmi una soluzione ??


Grazie in anticipo,
Nick

Re: Integrazione Paypal IPN v 2.3.4.7 con Print Order v1.5

Inviato: 12/09/2009, 17:09
da nick
Ciao,

per quanto riguarda la domanda 2, credo di essermi risposto da solo.
Semplicemente ho utilizzato in checkout_success.php la variabile $orders['orders_id'] anzichè $last_order cambiando cioè il codice seguente:

Codice: Seleziona tutto

<?php // Print Order Receipt v1.5 - Start // ?>
<td><div style="float:left"><a href="javascript:popupPrintReceipt('<?php echo tep_href_link(FILENAME_ORDERS_PRINTABLE2, 'oID=' . $last_order); ?>')"><?php echo tep_image_button('button_print_order.gif', IMAGE_BUTTON_PRINT_ORDER) . '</a>'; ?></div><div style="float:right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></div>
       </td>
<?php // Print Order Receipt v1.5 - End // ?>
in questo:

Codice: Seleziona tutto

<?php //Print Order Receipt v1.5 - Start // ?>
<td><div style="float:left"><a href="javascript:popupPrintReceipt('<?php echo tep_href_link(FILENAME_ORDERS_PRINTABLE2, 'oID=' . $orders['orders_id']); ?>')"><?php echo tep_image_button('button_print_order.gif', IMAGE_BUTTON_PRINT_ORDER) . '</a>'; ?></div><div style="float:right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></div>
       </td>
<?php //Print Order Receipt v1.5 - End // ?>
Infatti la variabile: $orders['orders_id'] già utilizzata e definita in checkout_success.php , sembra rendere superflua la $last_order definita dalla Print ORder in checkout_process.php. Pare comunque che ora la contribution funzioni correttamente anche dopo pagamento via Paypal.

....per quanto riguarda la prima domanda....?? C'è qualcuno che mi sappia dire se è strettamente necessario settare Web Encryption Payment su true e definire i 4 parametri legati ai certificati ??
La installation guide di PAypal IPN (2679) dice:
"If you have SSL enabled, then you won't need to set up encrypted web payments as the payment module automatically uses SSL if available."
Io ho SSL di OSC settato a True nei config file e riesco a proteggere la fase di registrazione utente. checkout, admin, etc....Questo basta a dire che SSL è attivo sul mio hosting e quindi posso lasciare Web Encryption Payment su false e i 4 campi legati ai certificati vuoti ? :?