Guest Posted October 25, 2008 Posted October 25, 2008 (edited) This module is an updated version of the Protx Direct module for osCommerce (last version was v4.4). The most important feature of this version is a major improvement in the customer experience of the payment process. This version uses the open source jQuery and Thickbox packages to bring a "Web 2.0" AJAX interface to the payment process, with a noticeable improvement particularly with the 3D-Secure phase of the process. The module has been carefully developed to retain compatibility with JavaScript disabled in the customer's browser, albeit with a more clunky interface. Changes since v4.4 Catalog Side:Card payment fields moved from checkout_payment.php to checkout_confirmation.php for increased security Start date and issue number fields hidden unless Maestro or Solo card types are selected CVV help popup now in a "ThickBox" window Upon clicking "Confirm" a "ThickBox" window appears in a new layer overlying checkout_confirmation.php. The remainder of the payment process including the 3D-Secure (Verified By Visa / MasterCard SecureCode) takes place in this layer Checks for a successful transaction before allowing the order to be recorded - thus securing against the publicised payment hack Minor bug fixes (error with complex database names; not showing error messages due to & instead of & in URL Admin Side:Variable amount for RELEASEing DEFERRED transactions Check live transaction status (e.g. settlement status, batch id etc) Requirements SSL Cert (shared or dedicated) cURL with OpenSSL support compiled into PHP Works with osCommerce v2.2 RC2a osCommerce v2.2 MS2 17-08-2006 FireFox 3.0 IE 6.0 IE 7.0 Google Chrome 0.2.149.30 Safari 3.1.2 Please note this is initially a beta release as although I have successfully tested it on a mixture of osC installations and browsers I cannot guarantee it will work in all situations. Please report any issues to this thread Contribution can be found at http://addons.oscommerce.com/info/4026 Edited October 25, 2008 by perfectpassion Quote
yubnub Posted October 25, 2008 Posted October 25, 2008 Hi Tom, Firstly thanks for all the continued time and skills you are putting into this. I am getting an error upon clicking on confirm order Parse error: syntax error, unexpected ';' in /homepages/13/d196434915/htdocs/catalogue/protx_process_win.php on line 37 I have tried removing the ; from line 37 but it ,akes no differance? hope you can help, regards, anthony Quote
Guest Posted October 25, 2008 Posted October 25, 2008 Sure, I've just been going through the code again myself and picked up a few small things that slipped through. Regarding that particular error replace line 37 of protx_process_win.php with: doAjax("<?php echo protxCleanUrl(tep_href_link(FILENAME_PROTX_PROCESS, 'action=process', 'SSL')); ?>", inputs); (the closing bracket was in the wrong place!) Quote
yubnub Posted October 26, 2008 Posted October 26, 2008 Sure, I've just been going through the code again myself and picked up a few small things that slipped through. Regarding that particular error replace line 37 of protx_process_win.php with: doAjax("<?php echo protxCleanUrl(tep_href_link(FILENAME_PROTX_PROCESS, 'action=process', 'SSL')); ?>", inputs); (the closing bracket was in the wrong place!) dam you! - I just sussed that out!! - many thanks Just putting through some test orders - the first one got declined (as expected) the second order I ge tthis error message Sorry, your order could not be processed as no payment transaction was found. Please try again or contact the store owner. this order should get authorised, any ideas? thanks again Quote
Guest Posted October 26, 2008 Posted October 26, 2008 what happens is that when a transaction is processed it is recorded in the protx_direct table, the customer is then redirected to checkout_process.php. Before the order is processed the checkout_process calls before_process() in the protx_direct module - this checks the protx_direct table for a successful transaction before allowing the order to be prcoessed. The purpose of this step is for security to block the well publicised "flaw" that potentially allows people to order without paying. Getting back to your problem: if you are getting that error it means it can't find a successful transaction in the db - this could be for a few reasons - the first step would be to take a look at your protx_direct table and see fi you can find the successful transaction (check correct date/time and that the 'status' field is 'OK') and let me know Quote
♥stubbsy Posted October 26, 2008 Posted October 26, 2008 Hi Tom, looking forward to seeing this in action :) One issue though will be for those who have a combined shipping/payment page (as I have). It doesn't like me moving the payment module to checkout_confimation. I haven't had time to look into it yet but hopefully I will get time this evening and report back. Just a heads up :) Dave Quote
yubnub Posted October 26, 2008 Posted October 26, 2008 Hi Tom, Which file do I edit to make the "3d secure box" slightly larger? With VBV the box is not quite tall enough and therefore displays a scroll bar. If i made it a ting bit bigger it would all fit with out the scroll bars, thanks as ever, anthony Quote
Guest Posted October 26, 2008 Posted October 26, 2008 Line 190 in protx_process.php: echo '<iframe src="'.tep_href_link(FILENAME_PROTX_PROCESS, 'action=iframe&termurl='.urlencode(str_replace('&', '&', tep_href_link(FILENAME_PROTX_PROCESS, 'action=3Dreturn&protx_id='.$GLOBALS['protx_direct']->protx_id, 'SSL'))), 'SSL').'" id="3Dsecure" style="width: 100%; height: 400px; border: none;"></iframe>'; The height should be sufficient according to the vbv guidelines - when you say it is not tall enough is this with a live vbv transaction or is it the test protx dialog? The test dialog is not the true size. Quote
yubnub Posted October 26, 2008 Posted October 26, 2008 Hi, May be unrelated, and just chance, but i changed the above code to the box was 420px high. When i put through a transaction i just authorised it without 3d secure? I put the code back to 400px and tried again - this time it did do the 3d secure? Quote
Guest Posted October 26, 2008 Posted October 26, 2008 I think that is unrelated - I can't see how changing the window height would bypass 3D-Secure Quote
wontonesaju Posted October 30, 2008 Posted October 30, 2008 (edited) 3DAUTH - Request URL=https://ukvpstest.protx.com/vspgateway/service/vspdirect-register.vsp Data string sent=VPSProtocol=2.22&TxType=DEFERRED&Vendor=elasticretail&VendorTxCode=7036-77274225649643663759532817435161&Amount=19.70&Currency=GBP&Description=Order+Number%3A+7036&CardHolder=jssjsjjsjsn+sjsjsnsns&CardNumber=5404000000000001&StartDate=&ExpiryDate=0312&IssueNumber=&CV2=123&CardType=MC&BillingAddress=29292929%2C%0D%0A22222%2C%0D%0Asssss%2C%0D%0Aindiansns%2C%0D%0AIndia&BillingPostCode=292929&DeliveryAddress=29292929%2C%0D%0A22222%2C%0D%0Asssss%2C%0D%0Aindiansns%2C%0D%0AIndia&DeliveryPostCode=292929&CustomerName=jssjsjjsjsn+sjsjsnsns&ContactNumber=9292929&CustomerEMail=saju.g%40wontonetech.com&ClientIPAddress=122.162.140.99&Basket=4%3ASterling+Silver+Heart+Clasp+Charm+Bracelet%3A1%3A17.50%3A0.00%3A17.50%3A17.50%3AVelveteen+Gift+Bag+%28+Choice+of+Colour+%29%3A1%3A0.00%3A0.00%3A0.00%3A0.00%3ACharm+-+Choice+of+6+%28+Please+Click+to+see+selection+%29%3A1%3A0.00%3A0.00%3A0.00%3A0.00%3AShipping%3A1%3A2.2%3A----%3A2.2%3A2.2&AccountType=E&Apply3DSecure=0 Protx response=VPSProtocol=2.22 Status=3DAUTH StatusDetail=2007 : Please redirect your customer to the ACSURL, passing the MD and PaReq. 3DSecureStatus=OK MD=2012253471906431670 ACSURL=https://ukvpstest.protx.com/mpitools/accesscontroler?action=pareq PAReq=eJxVUttSgzAQffcrGD6AJEApdLbp9OKMHW1FrY6vGHaEabk0hIJ/b1Kp1rc9Jydnd08Cs744WCeUTV6VU5s51J7xG9hlEnH1gqKVyGGDTZN8opWnU9ulzHVHnj9mEQ18jwVj anOI58945DD4cG3jMCAXqA2kyJJScUjEcbHe8pFPfS8AMkAoUK5XAzuiXhjQKNIGPzSUSYE8bg8NWjsU m fV6bz2oFMiZB1G1pZJfPHS14QVAKw88U6qeENJ1naMyfTGRRVfJfeOIqgBiFED+RotbUzXasc9T/vj+UT+9FdvWw3RZ3O7np8U+3iyPIe2mQIwC0kQhdykNGfWoRYMJ8yaMAjnzkBRmFM6isaYGALXpMb8+u WZAxy2xFJddLgiwr6sStcIF8ltDio3gsaxUb23ite5rMJC/PZZ3JnChdIbMZH2ujFmuE2Iu9c5uBgAxWjI8IxkeXFf/PsI3Ncu2Cg== Response array=Array ( [VPSProtocol] => 2.22 [status] => 3DAUTH [statusDetail] => 2007 : Please redirect your customer to the ACSURL, passing the MD and PaReq. [3DSecureStatus] => OK [MD] => 2012253471906431670 [ACSURL] => https://ukvpstest.protx.com/mpitools/access...er?action=pareq [PAReq] => eJxVUttSgzAQffcrGD6AJEApdLbp9OKMHW1FrY6vGHaEabk0hIJ/b1Kp1rc9Jydnd08Cs744WCeUTV6VU5s51J7xG9hlEnH1gqKVyGGDTZN8opWnU9ulzHVHnj9mEQ18jwVj anOI58945DD4cG3jMCAXqA2kyJJScUjEcbHe8pFPfS8AMkAoUK5XAzuiXhjQKNIGPzSUSYE8bg8NWjsU m fV6bz2oFMiZB1G1pZJfPHS14QVAKw88U6qeENJ1naMyfTGRRVfJfeOIqgBiFED+RotbUzXasc9T/vj+UT+9FdvWw3RZ3O7np8U+3iyPIe2mQIwC0kQhdykNGfWoRYMJ8yaMAjnzkBRmFM6isaYGALXpMb8+u WZAxy2xFJddLgiwr6sStcIF8ltDio3gsaxUb23ite5rMJC/PZZ3JnChdIbMZH2ujFmuE2Iu9c5uBgAxWjI8IxkeXFf/PsI3Ncu2Cg== [debug] => 1 ) curl_error= --------------------------------------------------- hi tom I am getting this error in my protx account, seems to its not getting the url of 3dsecure. I has not change any thing in the code.. every thing according to your newer version. But every time what ever card type i am using , it always pop up this same message. Edited October 30, 2008 by wontonesaju Quote
wontonesaju Posted October 30, 2008 Posted October 30, 2008 (edited) and also if i will disable the 3dsecure then it only showing StatusDetail=0000 : The Authorisation was Successful. but its not redirecting to successfully paid or checkout out completion page. i have installed this module in creloaded 6.2 Edited October 30, 2008 by wontonesaju Quote
wontonesaju Posted October 30, 2008 Posted October 30, 2008 i have also checked that during the non secure 3d, it correctly passes and process the order . Response=ok but i am not getting the final page ..it stuck here.. Request URL=https://ukvpstest.protx.com/vspgateway/service/vspdirect-register.vsp Data string sent=VPSProtocol=2.22&TxType=PAYMENT&Vendor=elasticretail&VendorTxCode=7036-92141544790988295823947150752977&Amount=19.70&Currency=GBP&Description=Order+Number%3A+7036&CardHolder=saju+gopal&CardNumber=4929000000006&StartDate=&ExpiryDate=0512&IssueNumber=&CV2=123&CardType=VISA&BillingAddress=a-39+tagore+garden+extn%2C%0D%0A%2C%0D%0Anew+delhi%2C%0D%0Aindia%2C%0D%0AIndia&BillingPostCode=110027&DeliveryAddress=a-39+tagore+garden+extn%2C%0D%0Anew+delhi%2C%0D%0Aindia%2C%0D%0AIndia&DeliveryPostCode=110027&CustomerName=saju+gopal&ContactNumber=828282828&CustomerEMail=saju.g%40wontonetech.com&ClientIPAddress=122.162.140.99&Basket=4%3ASterling+Silver+Heart+Clasp+Charm+Bracelet%3A1%3A17.50%3A0.00%3A17.50%3A17.50%3AVelveteen+Gift+Bag+%28+Choice+of+Colour+%29%3A1%3A0.00%3A0.00%3A0.00%3A0.00%3ACharm+-+Choice+of+6+%28+Please+Click+to+see+selection+%29%3A1%3A0.00%3A0.00%3A0.00%3A0.00%3AShipping%3A1%3A2.2%3A----%3A2.2%3A2.2&AccountType=E&Apply3DSecure=2 Protx response=VPSProtocol=2.22 Status=OK StatusDetail=0000 : The Authorisation was Successful. VPSTxId={CF71A86E-08AD-F6A0-B272-B9C57BA2D27E} SecurityKey=GILOVLLNST TxAuthNo=4007779 AVSCV2=SECURITY CODE MATCH ONLY AddressResult=NOTMATCHED PostCodeResult=NOTMATCHED CV2Result=MATCHED 3DSecureStatus=NOTCHECKED Response array=Array ( [VPSProtocol] => 2.22 [status] => OK [statusDetail] => 0000 : The Authorisation was Successful. [VPSTxId] => {CF71A86E-08AD-F6A0-B272-B9C57BA2D27E} [securityKey] => GILOVLLNST [TxAuthNo] => 4007779 [AVSCV2] => SECURITY CODE MATCH ONLY [AddressResult] => NOTMATCHED [PostCodeResult] => NOTMATCHED [CV2Result] => MATCHED [3DSecureStatus] => NOTCHECKED [debug] => 1 my order is passing it without the 3secure... I may guess some thing having a issue with the url...some where in the code.... Quote
Guest Posted October 30, 2008 Posted October 30, 2008 (edited) i have installed this module in creloaded 6.2 I doubt that the module is compatible with CREloaded without being re-written Edited October 30, 2008 by perfectpassion Quote
wontonesaju Posted October 30, 2008 Posted October 30, 2008 I doubt that the module is compatible with CREloaded without being re-written yes its working fine the only thing is you know when we have 3dsecure there is a form comes with 3 hidden field thats is it. this form is not coming and producing the status :2000 error. the last one is if i will disable the 3dsecure , then it showing the authorization=ok but there is no last page coming. it seems to me some issue .... the website url is there in my last post, now i only have to do is just to configure it with my customise code, but i am not having a time thats why i used your countribution module. Quote
Guest Posted October 30, 2008 Posted October 30, 2008 Not having any experience with CRELoaded I'm afraid I can't offer any support using this module with it Quote
wontonesaju Posted October 31, 2008 Posted October 31, 2008 Not having any experience with CRELoaded I'm afraid I can't offer any support using this module with it Success : Tom you want the creloaded version 6.2 of your code. I used some little tweak and its successfully taken the order, but i have disable the 3dsecure from the protx but a little tweaks i have done in the -> protx_direct.php template/content/checkout_confirmation.tpl.php your ajax page was great once it successfully done it closes the model window and showing the success page. My modification was not big but the guy who know structure then he can easily implement your code, well. i will write you in details and also give you the creloaded 6.2 version of your code if you require (: regards Saju Quote
wontonesaju Posted October 31, 2008 Posted October 31, 2008 tom here is the site link for you to test http://backup.elasticretail.com/mainwebsit...talog/index.php but i think a normal user or any other end users cant install this easily in creloaded untill and unless he know the structure of creloaded 6.2 but your code is good, and i think we can implment it more for zen cart and creloaded 6.2 Currently there is only one protx mods available for creloaded 6.2 which cost is around 250pound. (: buzz me i will share the file with you.... nothing big change i have done....but only a little things i have added. its also working in 3dsecure. so i am happy. Regards Saju Quote
♥stubbsy Posted October 31, 2008 Posted October 31, 2008 Tom, I've not managed to get this working yet with my modified site, but I haven't been able to spend too long on it yet, i hope to at the weekend. Can you confirm the checkout process for me in this update? Does checkout_payment exist anymore? Currently I have a combined checkout_shipping and checkout_Payment page and then it goes to checkout_confirmation. I need to revert back to basics so what comes now after checkout_shipping? Thanks Dave Quote
Guest Posted October 31, 2008 Posted October 31, 2008 checkout_payment still exists but customers simply select the payment method on it they do not enter the card details at that point - they are entered on checkout_confirmation. On clicking confirm a new layer appears that processes the payment / 3D-Secure then directs to checkout_process as normal HTH, Tom Quote
♥stubbsy Posted October 31, 2008 Posted October 31, 2008 checkout_payment still exists but customers simply select the payment method on it they do not enter the card details at that point - they are entered on checkout_confirmation. Ahh ok, so there's no reason why that option shouldn't still appear in my existing set up really, as it currently displays that option and then the card details below. Thanks Tom Quote
♥stubbsy Posted November 2, 2008 Posted November 2, 2008 Hi Tom, I have this working to a fashion at the moment. A couple of questions for you.. :) Adding this breaks my stylesheet <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> for some reason it doesn't like the 'body' style so my page is just white. How important is it for this to be in place? Secondly is it possible to change the location of the layer which appears when pressing confirm? At the moment it appears off screen at the top. Lastly, just a suggestion really, when a customer selects maestro for example, would it be possible to keep the entries in tradional order? e.g start date, expiry date, issue number and then cvv rather than cvv > expiry > start date > issue number? All the best Dave Quote
Guest Posted November 3, 2008 Posted November 3, 2008 Unfortunately the thickbox won't work without a valid DOCTYPE (it doesn't have to me HTML Transitional but it has to be valid) - the default doctype in the osC files is invalid. If using a valid doctype breaks your page then that means your page is non compliant - you should be striving to have all your pages w3c compliant which the standard osC files aren't Run your pages against http://validator.w3.org The position of the layer is done automatically and should be centered on your page - if it isn't then it is likely to be due to the issues just mentioned. Regarding the order of the fields that is certainly something I will look at for the next update. Quote
♥stubbsy Posted November 3, 2008 Posted November 3, 2008 Hi Tom, doh... all it was that was causing the problem was a missing # infront of the background colour. All works now! Just to let you know, incase anyone else has the problem, that I had clash with an existing script in my header that displayed different image on each page load. It caused all fields to show and stopped the layer from appearing. I removed that script and it now works fine. Thanks for your help Dave Quote
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.
Note: Your post will require moderator approval before it will be visible.