symbolism Posted March 21, 2006 Share Posted March 21, 2006 (edited) Just a suggestion might it not be better if the customer has to select the card type from a drop down list, rather than it being calculated, possible with card types being selectible by admin in the payment module admin section. regards Chris Edited March 21, 2006 by wheeloftime Quote Link to comment Share on other sites More sharing options...
symbolism Posted March 21, 2006 Share Posted March 21, 2006 possible - possibly must learn to spell check :) Quote Link to comment Share on other sites More sharing options...
newtrax Posted March 22, 2006 Share Posted March 22, 2006 (edited) I've got the store running through SSL, and CURL enabled on the server. PROTX is fully setup with all the possible server IP's etc. Clicking 'CONFIRM ORDER' on 'checkout_confirmation.php' just sends me back to 'checkout_payment.php?error_message=' without any error message, or sign that anything hasn't worked. Also, setting the 'Server IP Test' transaction option, does not show the 'Remote Address' of the server, it still only shows the 'Client Address'? No transactions are shown in the PROTX admin page. Please can someone help me fix this? VPSProtocol=2.22&TxType=PAYMENT&Vendor=atvcentre&VendorTxCode=5468962650811753 &Amount=313.29&Currency=GBP&Description=AC+Racing+Front+Bumper%28qty%3A+1%29+ %2B+Mega+Speed+Axle%28qty%3A+1%29+%2B+Pro+Design+Kill+Switch%28qty%3A+1%29+ &CardHolder=test+test&CardNumber=4929000000006&StartDate=&ExpiryDate=0506&IssueNumber= &CV2=&CardType=Visa&CustomerEMail=test%40test.com&ContactNumber=000&BillingAddress=1+test& BillingPostCode=test&DeliveryAddress=1+test&DeliveryPostCode=test&CAVV=&XID=&ECI= &ClientIPAddress=86.xxx.152.182&3DSecureStatus= Edited March 22, 2006 by newtrax Quote Link to comment Share on other sites More sharing options...
Guest Posted March 22, 2006 Share Posted March 22, 2006 I've got the store running through SSL, and CURL enabled on the server.PROTX is fully setup with all the possible server IP's etc. Clicking 'CONFIRM ORDER' on 'checkout_confirmation.php' just sends me back to 'checkout_payment.php?error_message=' without any error message, or sign that anything hasn't worked. Also, setting the 'Server IP Test' transaction option, does not show the 'Remote Address' of the server, it still only shows the 'Client Address'? No transactions are shown in the PROTX admin page. Please can someone help me fix this? VPSProtocol=2.22&TxType=PAYMENT&Vendor=atvcentre&VendorTxCode=5468962650811753 &Amount=313.29&Currency=GBP&Description=AC+Racing+Front+Bumper%28qty%3A+1%29+ %2B+Mega+Speed+Axle%28qty%3A+1%29+%2B+Pro+Design+Kill+Switch%28qty%3A+1%29+ &CardHolder=test+test&CardNumber=4929000000006&StartDate=&ExpiryDate=0506&IssueNumber= &CV2=&CardType=Visa&CustomerEMail=test%40test.com&ContactNumber=000&BillingAddress=1+test& BillingPostCode=test&DeliveryAddress=1+test&DeliveryPostCode=test&CAVV=&XID=&ECI= &ClientIPAddress=86.xxx.152.182&3DSecureStatus= Hi newtrax, You are not the only one with this problem - a couple of others have contacted me about this. The debug string you posted is fine from the osc protx module side but does show that the protx server is not responding to the request. I think this is to do with some webhosts setup and curl - try making the changes below to includes/modules/payment/protx_direct.php and see if it helps: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // Add these lines curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // End of Add curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, $data); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); With regards to the card types i've emailed protx to see if i can get hold of an u-to-date list of card types and respective numbers. HTH, Tom Quote Link to comment Share on other sites More sharing options...
newtrax Posted March 23, 2006 Share Posted March 23, 2006 Hi newtrax, You are not the only one with this problem - a couple of others have contacted me about this. The debug string you posted is fine from the osc protx module side but does show that the protx server is not responding to the request. I think this is to do with some webhosts setup and curl - try making the changes below to includes/modules/payment/protx_direct.php and see if it helps: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // Add these lines curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // End of Add curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, $data); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); With regards to the card types i've emailed protx to see if i can get hold of an u-to-date list of card types and respective numbers. HTH, Tom Your code suggestion helped me in 'Server IP Test' mode to bring back a long page of POST data, (including confirming the remote_addr is correct). BUT 'TEST' mode still returns to checkout_payment.php?error_message=Card , no matter what card number I enter (admin examples, or genuine) PROTX ARE getting the information now though, as there is a list of FAILED transactions showing! Is this why you wrote to say that you have emailed PROTX for a list of valid card numbers to test with? Thanks again for your help! Quote Link to comment Share on other sites More sharing options...
symbolism Posted March 23, 2006 Share Posted March 23, 2006 There is quite a usefull credit card generater for spefic card types at http://www.eflo.net/downloads.php being trying to use this to test any card failures we are having regards Chris Quote Link to comment Share on other sites More sharing options...
Stewart Gilray Posted March 23, 2006 Share Posted March 23, 2006 Tom, As has been discussed via PM, this change worked for me 100% And am now in production mode. Cheers. Quote Link to comment Share on other sites More sharing options...
Guest Posted March 23, 2006 Share Posted March 23, 2006 Your code suggestion helped me in 'Server IP Test' mode to bring back a long page of POST data,(including confirming the remote_addr is correct). BUT 'TEST' mode still returns to checkout_payment.php?error_message=Card , no matter what card number I enter (admin examples, or genuine) PROTX ARE getting the information now though, as there is a list of FAILED transactions showing! Is this why you wrote to say that you have emailed PROTX for a list of valid card numbers to test with? Thanks again for your help! the valid card number comments is purely for the minority of new cards that are being refused (eg some visa electron) - protx were unable to help but i've tracked down http://www.epdq.com/existing_customers/ope...f/binranges.pdf and will try to update the validation from this. newtrax, with regard to your latest problem maybe you could post the debug code (turn on debug in admin then post the full output after a test transaction including the protx response) and we can see if there's any clues. Tom Quote Link to comment Share on other sites More sharing options...
♥Vger Posted March 23, 2006 Share Posted March 23, 2006 Please try to keep topic posts on the forum. I know that's not always possible, but where you arrive at a solution via PM then please post it in the topic or make clear what it refers to. Thank You Vger Quote Link to comment Share on other sites More sharing options...
symbolism Posted March 23, 2006 Share Posted March 23, 2006 At lot of the problems seem to be caused by cc_validation.php Testing with a dummy card number of 4903030000000007 this should be a switch/maestro_domestic card but my cc_validation.php shows it as a visa basically } elseif (ereg('^4[0-9]{12}([0-9]{3})?$', $this->cc_number)) { $this->cc_type = 'Visa'; is one of the first lines in the card type check and sets the card type to visa and } elseif (ereg('^(49030[2-9]|49033[5-9]|49110[1-2]|4911(7[4-9]|8[1-2])|4936[0-9]{2}|564182|6333[0-4][0-9]|6759[0-9]{2})[0-9]{10}([0-9]{2,3})?$', $this->cc_number)) { $this->cc_type = 'Switch'; is never called At the moment I am rehashing the card types in cc_validation.php, will post here when complete regards Chris Quote Link to comment Share on other sites More sharing options...
Mary-at-Milton Posted March 23, 2006 Share Posted March 23, 2006 I have the Protx Direct module installed. I have been having problems with customers complaining that they are asked for a start date on the card but say their cards do not list a start date, so they do not insert a start date, only an end date. It does not process the transaction and responds with an error message. Any idea why this is. Must all switch cards have a start date or do only some of them have? Is this an error with the module? Thanks for any help. Quote Mary-Ann Chief Cook and Bottlewasher Jack-of-All-Trades Running 2.2MS2 Link to comment Share on other sites More sharing options...
Guest Posted March 24, 2006 Share Posted March 24, 2006 I have just released v2.3 of the Protx Direct module - It covers some items that were causing problems:- - Overhaul of module code - streamlined the unnecessary. - Fixed database issue where order_id was incorrect (caused by deleting orders from orders table but auto-increment not reset) - Added option to send cart details to protx (Thanks to Mike Jackson for his Protx form code) - Description in protx now uses the order number rather than cart items - Fixed display of expiry date etc on confirmation page - Removed option to turn start date / CVV / Issue number off (if not applicable to card can just be left blank) - Full address now sent to Protx - previously only 1st line & postcode were sent: this caused auth issues when AVS rules were applied in some circumstances. - Added extra database fields to table protx_direct: txtype, vendortxcode, txtime - No longer uses cc_validation.php, this was out-of-date and difficult to keep up to date with ever changing card ranges. - Introduced customer selection of card type instead (Protx automatically validates number against type so we don't really need to do it ourselves). - Ability to select which card types are available through admin section. Let me know if there's any issues (please note that some of you may need to change the curl options - see posts above). Tom Quote Link to comment Share on other sites More sharing options...
ianraba Posted March 24, 2006 Share Posted March 24, 2006 I have installed this but once you have chosen a card and number etc this remains for the whole session, need to terminate the session before it will accept a different card type or number Then i get this message: The amount is non-numeric. - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance. Quote Link to comment Share on other sites More sharing options...
Guest Posted March 24, 2006 Share Posted March 24, 2006 Hi ianraba, I've been unable to replicate either of your problems on either of by test and live stores. I;m not sure what is causing the card details to be retained. With regards to the non-numeric error can you enable debug mode in the admin then do a test transaction and post the results here? - might be able to spot something. Mary-at-milton, As far as I am aware Switch/Maestro cards all have a start date, i think some older cards may have issue numbers instead of a start date however looking at the offical Protx protocol document they require a start date for all Switch / Solo / Amex cards. HTH, Tom Quote Link to comment Share on other sites More sharing options...
andyEPP Posted March 29, 2006 Share Posted March 29, 2006 hi :) firstly, thanks to the author(s) of this contribution, its excellent :) i have setup v2.3 on my shop and its working fine for valid visa/mastercard/switch cards (the only ones i wish to accept at the minute). my only problem is the error message which occurs when the card details are incorrect. rather than a popup box or a red stripe at the top with explanatory text the browser returns a 500 Internal Server Error with an additional 404 i can clearly see the error message in the url, which is as follows... https://www.easypricepro.com/catalog/checko...expires_year=06 the shop is live and can be browsed here http://www.easypricepro.com/catalog/ just like to stress, the shop is working fine, SSL being enabled in the relevant pages (i know of the iframe issue and am working on a redesign for the new site) and this error only occuring when an invalid card is entered. I appreciate any help you may be able to offer me. andy Quote Link to comment Share on other sites More sharing options...
Guest Posted March 30, 2006 Share Posted March 30, 2006 hi :)firstly, thanks to the author(s) of this contribution, its excellent :) i have setup v2.3 on my shop and its working fine for valid visa/mastercard/switch cards (the only ones i wish to accept at the minute). my only problem is the error message which occurs when the card details are incorrect. rather than a popup box or a red stripe at the top with explanatory text the browser returns a 500 Internal Server Error with an additional 404 i can clearly see the error message in the url, which is as follows... https://www.easypricepro.com/catalog/checko...expires_year=06 the shop is live and can be browsed here http://www.easypricepro.com/catalog/ just like to stress, the shop is working fine, SSL being enabled in the relevant pages (i know of the iframe issue and am working on a redesign for the new site) and this error only occuring when an invalid card is entered. I appreciate any help you may be able to offer me. andy Hi andy, I don't think it's a problem with the protx module but seems to be more of a problem with your checkout_payment.php file (or related osc files). Perhaps try posting the file here and we'll see if we can spot anything. Thank, Tom Quote Link to comment Share on other sites More sharing options...
andyEPP Posted March 30, 2006 Share Posted March 30, 2006 (edited) edit: for what its worth, i replaced this existing file with the original copy from the archive and the error is the same. i guess some include file which does the error handling has been altered in some way? trouble is, i dont have a clue where that would be! thanks for any help :) heres the entire checkout_payment.php file, i dont recall ever changing this. my shop is pretty much standard, just unnecessary bits removed to keep it as simple as possible. <?php /* $Id: checkout_payment.php,v 1.113 2003/06/29 23:03:27 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } // if there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); } // if no shipping method has been selected, redirect the customer to the shipping method selection page if (!tep_session_is_registered('shipping')) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } // avoid hack attempts during the checkout procedure by checking the internal cartID if (isset($cart->cartID) && tep_session_is_registered('cartID')) { if ($cart->cartID != $cartID) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } } // Stock Check if ( (STOCK_CHECK == 'true') && (STOCK_ALLOW_CHECKOUT != 'true') ) { $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { if (tep_check_stock($products[$i]['id'], $products[$i]['quantity'])) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); break; } } } // if no billing destination address was selected, use the customers own address as default if (!tep_session_is_registered('billto')) { tep_session_register('billto'); $billto = $customer_default_address_id; } else { // verify the selected billing address $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $billto = $customer_default_address_id; if (tep_session_is_registered('payment')) tep_session_unregister('payment'); } } require(DIR_WS_CLASSES . 'order.php'); $order = new order; if (!tep_session_is_registered('comments')) tep_session_register('comments'); $total_weight = $cart->show_weight(); $total_count = $cart->count_contents(); // load all enabled payment modules require(DIR_WS_CLASSES . 'payment.php'); $payment_modules = new payment; require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PAYMENT); $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <script language="javascript"><!-- var selected; function selectRowEffect(object, buttonSelect) { if (!selected) { if (document.getElementById) { selected = document.getElementById('defaultSelected'); } else { selected = document.all['defaultSelected']; } } if (selected) selected.className = 'moduleRow'; object.className = 'moduleRowSelected'; selected = object; // one button is not an array if (document.checkout_payment.payment[0]) { document.checkout_payment.payment[buttonSelect].checked=true; } else { document.checkout_payment.payment.checked=true; } } function rowOverEffect(object) { if (object.className == 'moduleRow') object.className = 'moduleRowOver'; } function rowOutEffect(object) { if (object.className == 'moduleRowOver') object.className = 'moduleRow'; } //--></script> <?php echo $payment_modules->javascript_validation(); ?> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('checkout_payment', tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, '', 'SSL'), 'post', 'onsubmit="return check_form();"'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_payment.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if (isset($HTTP_GET_VARS['payment_error']) && is_object(${$HTTP_GET_VARS['payment_error']}) && ($error = ${$HTTP_GET_VARS['payment_error']}->get_error())) { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo tep_output_string_protected($error['title']); ?></b></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBoxNotice"> <tr class="infoBoxNoticeContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="100%" valign="top"><?php echo tep_output_string_protected($error['error']); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_BILLING_ADDRESS; ?></b></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="50%" valign="top"><?php echo TEXT_SELECTED_BILLING_DESTINATION; ?><br><br><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td> <td align="right" width="50%" valign="top"><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" align="center" valign="top"><b><?php echo TITLE_BILLING_ADDRESS; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_south_east.gif'); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" valign="top"><?php echo tep_address_label($customer_id, $billto, true, ' ', '<br>'); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_PAYMENT_METHOD; ?></b></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php $selection = $payment_modules->selection(); if (sizeof($selection) > 1) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="50%" valign="top"><?php echo TEXT_SELECT_PAYMENT_METHOD; ?></td> <td class="main" width="50%" valign="top" align="right"><b><?php echo TITLE_PLEASE_SELECT; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } else { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_PAYMENT_INFORMATION; ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } $radio_buttons = 0; for ($i=0, $n=sizeof($selection); $i<$n; $i++) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) { echo ' <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n"; } else { echo ' <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n"; } ?> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" colspan="3"><b><?php echo $selection[$i]['module']; ?></b></td> <td class="main" align="right"> <?php if (sizeof($selection) > 1) { echo tep_draw_radio_field('payment', $selection[$i]['id']); } else { echo tep_draw_hidden_field('payment', $selection[$i]['id']); } ?> </td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php if (isset($selection[$i]['error'])) { ?> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main" colspan="4"><?php echo $selection[$i]['error']; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } elseif (isset($selection[$i]['fields']) && is_array($selection[$i]['fields'])) { ?> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td colspan="4"><table border="0" cellspacing="0" cellpadding="2"> <?php for ($j=0, $n2=sizeof($selection[$i]['fields']); $j<$n2; $j++) { ?> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo $selection[$i]['fields'][$j]['title']; ?></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo $selection[$i]['fields'][$j]['field']; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } ?> </table></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php } ?> </table></td> <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> <?php $radio_buttons++; } ?> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><b><?php echo TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE; ?></td> <td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> </tr> </table></td> <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> <td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> </tr> </table></td> <td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td> <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td> </tr> </table></td> </tr> <tr> <td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td> <td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_PAYMENT; ?></td> <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td> <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td> </tr> </table></td> </tr> </table></form></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> apologies for the mega-post! Edited March 30, 2006 by andyEPP Quote Link to comment Share on other sites More sharing options...
AoM_Scott Posted April 3, 2006 Share Posted April 3, 2006 Does anyone have any plans to intergrate the shared protocol (as shown below) into the osCommerce Admin? I would try but I am useless with cURL. http://www.protx.com/downloads/docs/VSPSer...edProtocols.pdf Thank you. Great module. In regard to ianraba's error: I'm not sure if this is related, but with my installation in high value transactions over ?1000 the comma was being included in the string being submitted to Protx, so the amount was non-numeric. Hope this helps. Scott Quote no outside links please Link to comment Share on other sites More sharing options...
thewrath1 Posted April 4, 2006 Share Posted April 4, 2006 Hello, First off, excellent module! But: Has anyone had any problems with the value of the transaction that's being sent to protx for processing? I've installed this module and got it working and the transaction goes through ok but unfortunately it seems to pass the value of my goods but without the tax being added onto the shipping rate... ie Price of Item + TAX Price of shipping (without TAX) The value displayed to my customer and the value shown on the order total within OSc is the correct amount, it's just the amount that's being requested from the customers credit / debit card that's not right. Thanks Sam Doesn't look like anybody replied to your question, which is a pity since I have the same problem? :-( Vger! Heeeeelp!!! Exactly as described, i made an total ?8.52 order which was calculated correctly using Paypal, but via Protx the final value was ?7.40 :huh: I am going to try the new mod, as see if that resolves the problem, otherwise I'm a bit confused why this is happenning. Any Ideas??? I am calulating VAT on my products and shipping, but am wondering if it has something to do with weight? Either way, there must be something incorrect in the mod, since Paypal captures the correct amount without any problems. Pllease can you give me any thoughts on this, TIA, Quote Q/ How many therapist's does it take to change a lightbulb? A/ Two. But the lightbulb has to really 'want' to change. Link to comment Share on other sites More sharing options...
♥Vger Posted April 4, 2006 Share Posted April 4, 2006 Sorry, but I can't help. I haven't even had time to download and look at what Tom (perfectpassion) did with the latest update of this module - but the coding changes sound fairly radical from the post above. Vger Quote Link to comment Share on other sites More sharing options...
thewrath1 Posted April 4, 2006 Share Posted April 4, 2006 Sorry, but I can't help. I haven't even had time to download and look at what Tom (perfectpassion) did with the latest update of this module - but the coding changes sound fairly radical from the post above. Vger Well after a little more playing around making transactions via ProtX, I've managed to find the right direction to look-in atleast, with regard tax for shipping being added to the final price in ProtX admin. If I switch off Taxable Goods in the shipping module, Protx matches the same figure osC does. So it looks like it's tax related somewhere... :blink: Any thoughts appreciated from anyone... I'm now hunting the culprit. be back soon with the answer soon hopefully. (finges Xssed). Quote Q/ How many therapist's does it take to change a lightbulb? A/ Two. But the lightbulb has to really 'want' to change. Link to comment Share on other sites More sharing options...
Guest Posted April 5, 2006 Share Posted April 5, 2006 (edited) First of all, thanks to Vger and perfectpassion for their excellent work on this module. Can't wait for protx to (finally) activate 3dsecure now - hopefully it will be worth all the slippage in their timetable. Now, the tricky bit.. it's more of a "has anyone else found this" than a problem with the module (I hope). I'm really quite sad, and quite often spend a little time watching the "who's online (v1.9)" screen, as I think it gives a good insight into where customers are coming from and how they behave in the store. Anyway, for 3 or 4 which I have seen, and 2 who have contacted us, there seems to be a problem at the checkout confirmation stage. The symptoms are as follows... after all the create account and into checkout_shipping, where they enter their credit card details (fast easy checkout is installed) they then move to checkout_confirmation, and and then why they click the confirm button, they get returned to checkout_shipping, with no error code. Usually, with a CVV error, or invalid expiry date etc, this all works fine. This is v2.3 of the module by the way. I thought initially, this was a problem with certain visa electron cards, but this morning, the same problem happened with a mastercard. One of them then suggested that he had JavaScript turned off, however, turning JavaScript off does not seem to replicate the problem. In both cases, the customers managed to complete by using a different credit card, however I would love to get to the bottom of the issue, as customers are getting (understandably) concerned when they are unsure if they have completed an order or not. So.. any of you seen this? Many thanks in advance, Harv Edited April 5, 2006 by harvuk Quote Link to comment Share on other sites More sharing options...
Guest Posted April 7, 2006 Share Posted April 7, 2006 Hi, Sorry for the delay in getting back to you but have been away looking after poorly mother-in-law!! andyEPP - the checkout_payment.php is fine so the fault must be in one of the other osC files but i'm not sure where. Try using a file compare utility to compare your files with the stock osC one for any changes that may have impacted. Check especially the files in the includes subdirectory and below. AoM_Scott - As it would happen I am currently working on an extension to the module to implement the shared protocol (i.e add the ability to release, repeat, refund, abort, void etc directly from within the osc admin). My plan is to link it to the individual orders and then be able to pull up a page showing the transactions for the order then refund etc from there. Any thoughts / comments on how you'd like to to happen? thewrath1 - now i'm back i'll spend a bit of time looking into your problem and report back Harvuk - could you expand a little more an what the problem is, it is probably me since i'm a bit tired at the moment but i'm struggling with what error (or is that no error) you are getting particularly with: they get returned to checkout_shipping, with no error code. Usually, with a CVV error, or invalid expiry date etc, this all works fine. I will report back with any developements!!! Tom Quote Link to comment Share on other sites More sharing options...
Guest Posted April 8, 2006 Share Posted April 8, 2006 (edited) Great new protx module! A lot tidier than the old one. I cant get it to work with the Credit Class/Gift Vouchers/Discount Coupons contribution though. The price sent to protx doesn?t have the discount. Is it possibly something to do with sending the basket contents and not the final total? I'm not sure whether to PM Vger about this as he wrote this and has written a version of the CCGV called CCGV(trad). Maybe I should try Vger's version of CCGV with protx. Although its better to keep these things on the forum so others can read the solutions. Edited April 8, 2006 by Caios Quote Link to comment Share on other sites More sharing options...
Guest Posted April 8, 2006 Share Posted April 8, 2006 Right, its 4am and I've got it working with the CCGV (CCGV5_15_a2.zip) I've done a few different things, rearanged the order of the "order total" modules in admin, moved the order of some code in payment_proccess.php and some other stuff I've forgoten. So I cant be sure what the problem was. One of those days today when nothing works at first! lol Goodnight and great new Protx module. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.