Results 1 to 10 of 13

Hybrid View

  1. #1
    Join Date
    Jan 2007
    Location
    Australia
    Posts
    6,167
    Plugin Contributions
    7

    Default Re: Disable COD Payment

    Quote Originally Posted by mdo82 View Post
    Thanks for the information.
    Unfortunately will not succeed me.

    I change the file /httpdocs/includes/modules/payment/cod.php, but the option remains.
    I work probably in the wrong file?

    Thanks for the info so far.
    It's the right file.

    Q1. Where in the code are you placing your additions?

    Q2. Have you verified that the check for the customerID is matching? (I suggest changing
    if (strstr($_SESSION['customers_id'],'3739')){
    to
    if (!strstr($_SESSION['customers_id'],'3739')){

    .... This will/should cause the *opposite* to what you want... In other words if the code is working it will disable COD for everyone except customer with the id '3739'

    This will verify that the toggle/switch itself is working, which in turn means there is something not working with your customerID check.

    Cheers
    RodG
    Last edited by RodG; 15 Jun 2014 at 04:48 PM.

  2. #2
    Join Date
    Apr 2010
    Posts
    39
    Plugin Contributions
    0

    Default Re: Disable COD Payment

    Perhaps I did not quite clearly explained my story.
    I want to all have the ability to choose for COD.
    However, I want to disable it for one customer with id specified.


    In answer to your question, I place it in the next place in my file:

    // $this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
    // only show COD if Store Pickup
    if (strstr($_SESSION['shipping']['id'],'storepickup')){
    $this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
    }
    if (strstr($_SESSION['shipping']['id'],'freeshipper')){
    $this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
    }
    Line 23 - 30 in my file. After this i place my code.

    Question 2:
    I have verify my customer_id because i use my test-account in the store.

  3. #3
    Join Date
    Apr 2010
    Posts
    39
    Plugin Contributions
    0

    Default Re: Disable COD Payment

    I see that I have called the wrong file.
    It is not the COD, but it is the moneyorder.php.
    My mistake, but when I use the following code:

    Code:
    if (!strstr($_SESSION['customers_id'],'3739')){
          $this->enabled = ((MODULE_PAYMENT_MONEYORDER_STATUS == 'False') ? true : false);
          }
    With the ! than the option is not showing at all

  4. #4
    Join Date
    Apr 2010
    Posts
    39
    Plugin Contributions
    0

    Default Re: Disable COD Payment

    Quote Originally Posted by mdo82 View Post
    I see that I have called the wrong file.
    It is not the COD, but it is the moneyorder.php.
    My mistake, but when I use the following code:

    Code:
    if (!strstr($_SESSION['customers_id'],'3739')){
          $this->enabled = ((MODULE_PAYMENT_MONEYORDER_STATUS == 'False') ? true : false);
          }
    With the ! than the option is not showing at all
    Does anyone have any idea how I can do this?

  5. #5
    Join Date
    Jan 2007
    Location
    Australia
    Posts
    6,167
    Plugin Contributions
    7

    Default Re: Disable COD Payment

    Quote Originally Posted by mdo82 View Post
    Does anyone have any idea how I can do this?
    I believe that you have us all confused with what you are now trying to achieve and/or where you are headed.

    You've told us that you wish to disable the COD module for one customer only, and then you tell us that you've been changing the wrong file and that you are now editing the moneyorder.php file because the cod.php file was a 'mistake'.

    And finally you tell us the "the" option isn't showing at all, without any clue as to whether you are still referring to the COD option of the moneyorder option.

    The cod.php file controls the COD options.
    The moneyorder.php file controls the Money Order options.

    Either one of these files will not affect the options provided by the other (which is what you are implying is happening).

    What the "!" does is "reverse" the results of any given test or comparison, So

    if (!strstr($_SESSION['customers_id'],'3739')){
    Do Something
    }

    Is stating: if customerID *isn't* '3739' then run the code "Do Something"

    and

    if (strstr($_SESSION['customers_id'],'3739')){
    Do Something
    }

    Is stating: If customerID *iS* '3739' then run the code "Do Something"

    This means that you'll need to either set the $this->enabled to either 'true' or 'false' (in the "do something" area, depending on your needs).

    The code that reads like
    $this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'false') ? true : false);

    is stating: If the STATUS is set to "false" then set it to "true", otherwise set it to "false".

    If you change this to
    $this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'false') ? false : true);

    is stating: If the STATUS is set to "false" then leave it "false", otherwise set it to "true".

    If you change this to
    $this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'true') ? false : true);

    is stating: If the STATUS is set to "true" then set it to "false", otherwise set it to "true".

    and finally:
    $this->enabled = ((MODULE_PAYMENT_XXXXX_STATUS == 'true') ? true : false);

    is stating: If the STATUS is set to "true" then leave it as "true", otherwise set it to "false".

    I realise that this can all be a little confusing if you aren't familiar with the syntax, which is why I suggested that in your case, simply setting
    $this->enabled = 'true' or $this->enabled = 'false' (depending on the results of your customerID check) would perhaps be a little easier to understand.

    Cheers
    RodG

  6. #6
    Join Date
    Apr 2010
    Posts
    39
    Plugin Contributions
    0

    Default Re: Disable COD Payment

    Thanks for your detailed explanation.
    I am indeed begun wrong with this topic.
    Now I had my information in the first post to fit, but it will be even more confusing.
    Maybe I should start a new topic for clarity?

    I will briefly explain what I want to do anything to summarize.
    I want to remove the moneyorder option for a customer.

    In the beginning of the topic I started about cod, but I had the wrong translation for myself.
    The change I would therefore run the file moneyorder.php

    If I put the following code in my file:

    Code:
          if (strstr($_SESSION['customers_id'],'3739')){
    	$this->enabled = false;
          }
    The option for selecting "moneyorder" is not showing at all if i put (!strstr in the code.
    Without the !strstr the option is showing for everyone.
    Including for customer 3739.

    I hope that now have more clearly put down.
    Problem for me also is the translation.
    Last edited by mdo82; 17 Jun 2014 at 04:19 PM.

  7. #7
    Join Date
    Jan 2007
    Location
    Australia
    Posts
    6,167
    Plugin Contributions
    7

    Default Re: Disable COD Payment

    Quote Originally Posted by mdo82 View Post
    Maybe I should start a new topic for clarity?
    No, it's probably best to leave it here,

    Quote Originally Posted by mdo82 View Post

    If I put the following code in my file:

    Code:
          if (strstr($_SESSION['customers_id'],'3739')){
        $this->enabled = false;
          }
    The option for selecting "moneyorder" is not showing at all if i put (!strstr in the code.
    Without the !strstr the option is showing for everyone.
    Including for customer 3739.
    This is telling me that the 'if' check isn't functioning as expected.

    Try this:
    Find the line of code that reads:
    Code:
      $this->enabled = ((MODULE_PAYMENT_MONEYORDER_STATUS == 'True') ? true : false);
    Then add the following code immediately after it
    Code:
      if(($_SESSION['customer_id']) == "3739")  $this->enabled = false ;
    I've confirmed/verified that this works. There is no need to use 'strstr' because you are looking for an exact match. If you do use the 'strstr' ) and assuming it works) it would *also* match customerID's '123739' and '3739123' as well as all other customers with '3739' as *part* (substring) of their Id, which *isn't* what you want.

    Cheers
    RodG

 

 

Similar Threads

  1. v139h Disable COD When Customer Opts for USPS?
    By bi11i in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 17 Dec 2012, 12:04 PM
  2. disable cod
    By 100asa in forum General Questions
    Replies: 16
    Last Post: 20 Oct 2011, 05:07 PM
  3. Cod payment
    By Joe1 in forum Addon Payment Modules
    Replies: 0
    Last Post: 16 Apr 2011, 04:25 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