Results 1 to 10 of 117

Hybrid View

  1. #1
    Join Date
    Aug 2005
    Location
    Vic, Oz
    Posts
    1,905
    Plugin Contributions
    5

    Default Re: WorldPay Module version 3.0 - Support thread

    Could a lot of that data be "debug" data
    Is there a debug setting, and is it turned on?

  2. #2
    Join Date
    Nov 2013
    Location
    Dorset, UK
    Posts
    124
    Plugin Contributions
    0

    Default Re: WorldPay Module version 3.0 - Support thread

    Quote Originally Posted by gilby View Post
    Could a lot of that data be "debug" data
    Is there a debug setting, and is it turned on?
    This module emails debug data with an option in Admin for mail distribution list. I remember I used it previously but not great reporting. Also worldpay email callback dumps with response data only on failure. Debug always emails... Everything.

    The data table names are request, session, post, & server. Remembering this is an off site payment module I think this is the raw data encrypted!
    Last edited by SpaceMonkey; 7 Jun 2018 at 02:53 AM.

  3. #3
    Join Date
    Nov 2013
    Location
    Dorset, UK
    Posts
    124
    Plugin Contributions
    0

    Default Re: WorldPay Module version 3.0 - Support thread

    Looked a bit deeper..... its the data for the admin > customers > worldpay payments

    example:
    Code:
    Original Billing Address: 
    17 Any Road
    Suburb
    Town
     
    WorldPay CC Address: 
    17 Any Road
    Another Town
    Warning: Address Mismatch
    Which of course is part of your AVS and other cross checks with worldpay.... or so my understanding of this goes.

  4. #4
    Join Date
    Apr 2009
    Posts
    2,134
    Plugin Contributions
    3

    Default Re: WorldPay Module version 3.0 - Support thread

    The module stores the complete state at the time of processing. So, all the post variables, all the session variables, all the server variables, and all the request variables. I think this is just someone in the past thinking one of two things. Either that some of this stuff may be useful for compliance. Or that they don't really know so they are going to store it anyway.

    The code block looks like this (so would be easy enough to change to disable the storage of this data).

    Code:
    		$str['POST'] = base64_encode(serialize($_POST));
    		$str['SESSION'] = base64_encode(serialize($_SESSION));
    		$str['SERVER'] = base64_encode(serialize($_SERVER));
    		$str['REQUEST'] = base64_encode(serialize($_REQUEST));
    		
    		if($_REQUEST['transStatus'] == 'C'){
    				$_POST['transId'] = 'Cancelled';
    				$_REQUEST['transId'] = 'Cancelled';
    		}
    
    		$db->Execute("INSERT INTO `".TABLE_WORLDPAY_PAYMENTS."` (cartId, worldpay_transaction_id, POST, SESSION, SERVER, REQUEST) VALUES ('".zen_db_input($_POST['cartId'])."', '".zen_db_input($_POST['transId'])."', '". $str['POST'] ."', '". $str['SESSION'] ."', '". $str['SERVER'] ."', '". $str['REQUEST'] ."')");
    As I say, I do not want to get into the nitty-gritty of this, and yes I have read my way through the PCI guidance notes. I don't think that this is a compliance issue but I am not an expert.

    My solution would always be to use another gateway. This is because the underlying methods of Worldpay are just horrible. I understand that Worldpay is slightly cheaper but as a programmer and not a business owner I don't think the savings are worth it. Different perspectives.

  5. #5
    Join Date
    Nov 2013
    Location
    Dorset, UK
    Posts
    124
    Plugin Contributions
    0

    Default Re: WorldPay Module version 3.0 - Support thread

    Quote Originally Posted by niccol View Post
    The module stores the complete state at the time of processing. So, all the post variables, all the session variables, all the server variables, and all the request variables. I think this is just someone in the past thinking one of two things. Either that some of this stuff may be useful for compliance. Or that they don't really know so they are going to store it anyway.

    The code block looks like this (so would be easy enough to change to disable the storage of this data).

    Code:
    		$str['POST'] = base64_encode(serialize($_POST));
    		$str['SESSION'] = base64_encode(serialize($_SESSION));
    		$str['SERVER'] = base64_encode(serialize($_SERVER));
    		$str['REQUEST'] = base64_encode(serialize($_REQUEST));
    		
    		if($_REQUEST['transStatus'] == 'C'){
    				$_POST['transId'] = 'Cancelled';
    				$_REQUEST['transId'] = 'Cancelled';
    		}
    
    		$db->Execute("INSERT INTO `".TABLE_WORLDPAY_PAYMENTS."` (cartId, worldpay_transaction_id, POST, SESSION, SERVER, REQUEST) VALUES ('".zen_db_input($_POST['cartId'])."', '".zen_db_input($_POST['transId'])."', '". $str['POST'] ."', '". $str['SESSION'] ."', '". $str['SERVER'] ."', '". $str['REQUEST'] ."')");
    As I say, I do not want to get into the nitty-gritty of this, and yes I have read my way through the PCI guidance notes. I don't think that this is a compliance issue but I am not an expert.

    My solution would always be to use another gateway. This is because the underlying methods of Worldpay are just horrible. I understand that Worldpay is slightly cheaper but as a programmer and not a business owner I don't think the savings are worth it. Different perspectives.
    I agree, not the nicest experience for the customer either.

  6. #6
    Join Date
    Jun 2007
    Location
    Cymru
    Posts
    124
    Plugin Contributions
    0

    Default Re: WorldPay Module version 3.0 - Support thread

    Hi all. The plugin works great for me other than one issue. After people choose to pay via WorldPay, they are taken to the WorldPay site. All the processing is done there, and the customer returns to the Zen Cart order confirmation page. Everything seems fine,tbut the issue is that none of the Worldpay orders are logged under 'Transactions' in our Google Analytics account. All orders placed on our site using Paypal are logged on Analytics but not the Worldpay ones. This has been an ongoing issue for us. Today I copied all of the *clean* files again from the plugin to our server. The only changes I have made (changes made by the developer) is to change the following code in includes/modules/payment/worldpay.php.

    Code:
          function selection() {
    
            if(sizeof(explode(',', trim(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST)))>0 && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST !='--none--' && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC != 'False'){
                switch(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC){
                case 'Radio Buttons' :
                return array('id' => $this->code,
                            'module' => $this->title.$this->_draw_radio_menu($this->_cc_map(), $_SESSION['paymentType'] ));
                break;
                case 'Select Box':
                $this->cc_drop = array();
                array_walk($this->_cc_map(), array('worldpay', 'cc_split'));
                return array('id' => $this->code,
                            'module' => $this->title.'</label> '.zen_draw_pull_down_menu("paymentType", $this->cc_drop, $_SESSION['paymentType'] ).'<label>' );
                break;
                default:
                return array('id' => $this->code,
                            'module' => $this->title);
                }
            }else{
            return array('id' => $this->code,
                    'module' => $this->title);
            }
    
          }
    to:

    Code:
          function selection() {
    
            if(sizeof(explode(',', trim(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST)))>0 && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST !='--none--' && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC != 'False'){
                switch(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC){
                case 'Radio Buttons' :
                return array('id' => $this->code,
                            'module' => $this->title.$this->_draw_radio_menu($this->_cc_map(), $_SESSION['paymentType'] ));
                break;
                case 'Select Box':
                $this->cc_drop = array();
                array_walk($this->_cc_map(), array('worldpay', 'cc_split'));
                return array('id' => $this->code,
                            'module' => $this->title.'</label><p align="center"><img src=https://www.cadwyngifts.com/images/cardiau-credyd-cadwyn.png border=0 alt="Card payments supported by Worldpay"></p> '.zen_draw_pull_down_menu("paymentType", $this->cc_drop, $_SESSION['paymentType'] ).'<label>' );
                break;
                default:
                return array('id' => $this->code,
                            'module' => $this->title.'<p style="margin: 0px;"><img src=https://www.cadwyngifts.com/images/cardiau-credyd-cadwyn.png border=0 alt="Card payments supported by Worldpay"></p></label> ');
                }
            }else{
            return array('id' => $this->code,
                    'module' => $this->title.'<p style="margin: 0px;"><img src=https://www.cadwyngifts.com/images/cardiau-credyd-cadwyn.png border=0 alt="Card payments supported by Worldpay"></p></label>' );
            }
    
          }
    Other than that it a clean installation.

    Could the changes above be somehow stopping Google Analytics from logging any Worldpay orders made on our site cadwyngifts.com ? I hope the above is clear. I would greatly appreciate any feedback.

  7. #7
    Join Date
    Apr 2009
    Posts
    2,134
    Plugin Contributions
    3

    Default Re: WorldPay Module version 3.0 - Support thread

    Quote Originally Posted by bonheddwr View Post
    Hi all. The plugin works great for me other than one issue. After people choose to pay via WorldPay, they are taken to the WorldPay site. All the processing is done there, and the customer returns to the Zen Cart order confirmation page. Everything seems fine,tbut the issue is that none of the Worldpay orders are logged under 'Transactions' in our Google Analytics account. All orders placed on our site using Paypal are logged on Analytics but not the Worldpay ones. This has been an ongoing issue for us. Today I copied all of the *clean* files again from the plugin to our server. The only changes I have made (changes made by the developer) is to change the following code in includes/modules/payment/worldpay.php.

    Code:
          function selection() {
    
            if(sizeof(explode(',', trim(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST)))>0 && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST !='--none--' && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC != 'False'){
                switch(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC){
                case 'Radio Buttons' :
                return array('id' => $this->code,
                            'module' => $this->title.$this->_draw_radio_menu($this->_cc_map(), $_SESSION['paymentType'] ));
                break;
                case 'Select Box':
                $this->cc_drop = array();
                array_walk($this->_cc_map(), array('worldpay', 'cc_split'));
                return array('id' => $this->code,
                            'module' => $this->title.'</label> '.zen_draw_pull_down_menu("paymentType", $this->cc_drop, $_SESSION['paymentType'] ).'<label>' );
                break;
                default:
                return array('id' => $this->code,
                            'module' => $this->title);
                }
            }else{
            return array('id' => $this->code,
                    'module' => $this->title);
            }
    
          }
    to:

    Code:
          function selection() {
    
            if(sizeof(explode(',', trim(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST)))>0 && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC_LIST !='--none--' && MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC != 'False'){
                switch(MODULE_PAYMENT_WORLDPAY_ACCEPTED_CC){
                case 'Radio Buttons' :
                return array('id' => $this->code,
                            'module' => $this->title.$this->_draw_radio_menu($this->_cc_map(), $_SESSION['paymentType'] ));
                break;
                case 'Select Box':
                $this->cc_drop = array();
                array_walk($this->_cc_map(), array('worldpay', 'cc_split'));
                return array('id' => $this->code,
                            'module' => $this->title.'</label><p align="center"><img src=https://www.cadwyngifts.com/images/cardiau-credyd-cadwyn.png border=0 alt="Card payments supported by Worldpay"></p> '.zen_draw_pull_down_menu("paymentType", $this->cc_drop, $_SESSION['paymentType'] ).'<label>' );
                break;
                default:
                return array('id' => $this->code,
                            'module' => $this->title.'<p style="margin: 0px;"><img src=https://www.cadwyngifts.com/images/cardiau-credyd-cadwyn.png border=0 alt="Card payments supported by Worldpay"></p></label> ');
                }
            }else{
            return array('id' => $this->code,
                    'module' => $this->title.'<p style="margin: 0px;"><img src=https://www.cadwyngifts.com/images/cardiau-credyd-cadwyn.png border=0 alt="Card payments supported by Worldpay"></p></label>' );
            }
    
          }
    Other than that it a clean installation.

    Could the changes above be somehow stopping Google Analytics from logging any Worldpay orders made on our site cadwyngifts.com ? I hope the above is clear. I would greatly appreciate any feedback.
    It will be because of the weird 'order confirmation' page that Worldpay uses.

    By which I mean that the page after the customer enters their details ssuccessfully is generataed by the worldpay server rather than your server. The GA code will be on the page that your server generates so may never get actioned in the Worldpay way of doing things.

    So, I think that the good news is that it has not got to do with the changes that your developer has made. The bad news is that it is going to be challenging to rectify.

    :-)

  8. #8
    Join Date
    Jun 2007
    Location
    Cymru
    Posts
    124
    Plugin Contributions
    0

    Default Re: WorldPay Module version 3.0 - Support thread

    Quote Originally Posted by niccol View Post
    It will be because of the weird 'order confirmation' page that Worldpay uses.

    By which I mean that the page after the customer enters their details ssuccessfully is generataed by the worldpay server rather than your server. The GA code will be on the page that your server generates so may never get actioned in the Worldpay way of doing things.

    So, I think that the good news is that it has not got to do with the changes that your developer has made. The bad news is that it is going to be challenging to rectify.

    :-)
    Thanks Nicco for the information! I have heard many people complain about WorldPay's weird setup! But the strange thing is, other people seem to use the WorldPay and GA plugins, and the orders are logged in their analytics. Could it be something to do with the options I have chosen on the Worldpay site itself therefore?

 

 

Similar Threads

  1. MultiSite Module Support Thread
    By Gerome in forum All Other Contributions/Addons
    Replies: 2246
    Last Post: 29 Dec 2025, 10:13 AM
  2. WorldPay Module version 2.0 - Support thread
    By philip_clarke in forum Addon Payment Modules
    Replies: 729
    Last Post: 4 Nov 2017, 08:23 AM
  3. v151 Codetrio Sphinx Search Version 1.0 Support Thread
    By imranulh in forum All Other Contributions/Addons
    Replies: 5
    Last Post: 16 Jul 2014, 01:24 AM
  4. Simple SEO URL (OLD version) [support thread]
    By yellow1912 in forum All Other Contributions/Addons
    Replies: 5053
    Last Post: 30 Jun 2014, 02:42 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg