Results 1 to 10 of 23

Hybrid View

  1. #1
    Join Date
    Jan 2004
    Posts
    66,446
    Plugin Contributions
    81

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    Quote Originally Posted by dcmall View Post
    Hi, wonder if anyone have any clue how to customize the checkout_sucess page so that different messages can be display upon completing final step - Confirm the Order - based on the payment method processed.

    E.g.

    1. If the Payment Method = Cheque / Money Order
    Message: Your order has been received. Please note that your order will be delivered upon confirmation of payment. Please ensure you quote your order number when making payment.

    2. If the Payment Method = Express Check out with Paypal
    Message: Your order has been received and payment confirmed. Your order will be processed for shipment the next working day.

    3. If the Payment Method = Cash on Delivery
    Message: Your order has been received. We will be in touch with you by the next working day to arrange your delivery appointment.

    Thanks in advance.

    dcmall
    Quote Originally Posted by DrByte View Post
    You'd need to set a session variable in the checkout_process header_php.php before the unset() of session-payment information.

    Then read that session variable in the checkout_success header_php.php, and then unset that session variable after reading its value.
    Quote Originally Posted by dcmall View Post
    DrByte,

    How to I set a session variable in checkout_process header_php.php and how do I read the session variable in the checkout_success header_php.php?

    I know where to open the two files, but when it comes to coding, I really do not know how to set and read the session variable for the above said purpose.

    I know nuts of php. Appreciate if you could give some guidance.

    Looking forward to your prompt guidance...


    Perhaps you'll consider making a donation to the Zen Cart project for this custom code:

    1. edit /includes/modules/pages/checkout_process/header_php.php
    Add the slashes, as shown:
    Code:
    //  unset($_SESSION['payment']);
    2. edit /includes/modules/pages/checkout_success/header_php.php
    after this:
    Code:
    // if the customer is not logged on, redirect them to the shopping cart page
    if (!$_SESSION['customer_id']) {
      zen_redirect(zen_href_link(FILENAME_TIME_OUT));
    }
    SCRATCH THAT ... look for this instead:
    Code:
    require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
    and add this below it:
    Code:
      $payment_instructions_message = 'Thank you for your order';
      if (defined('TEXT_PAYMENT_MESSAGE_' . strtoupper($_SESSION['payment']) ))  $payment_instructions_message = constant('TEXT_PAYMENT_MESSAGE_' . strtoupper($_SESSION['payment']) );
      unset($_SESSION['payment']);
    3. Edit /includes/languages/english/YOURTEMPLATE/checkout_success.php
    Add new defines for each of your required payment modules, following the pattern:
    Code:
    define('TEXT_PAYMENT_MESSAGE_MONEYORDER', 'Your order has been received. Please note that your order will be delivered upon confirmation of payment. Please ensure you quote your order number when making payment.');
    define('TEXT_PAYMENT_MESSAGE_PAYPALWPP', 'Your order has been received and payment confirmed. Your order will be processed for shipment the next working day.');
    define('TEXT_PAYMENT_MESSAGE_COD', 'Your order has been received. We will be in touch with you by the next working day to arrange your delivery appointment.');
    4. edit /includes/templates/YOURTEMPLATE/templates/tpl_checkout_success_default.php
    find this:
    Code:
    <div id="checkoutSuccessOrderNumber"><?php echo TEXT_YOUR_ORDER_NUMBER . $zv_orders_id; ?></div>
    add this on a line below it:
    Code:
    <div id="checkoutSuccessMessage"><?php echo $payment_instructions_message; ?></div>
    Last edited by DrByte; 2 Sep 2007 at 03:47 AM. Reason: correction to step 2
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  2. #2
    Join Date
    Aug 2007
    Location
    Eugene, OR
    Posts
    162
    Plugin Contributions
    0

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    The custom coding is not working for me...it just shows the default text "Thank you for your order". It seems as if the "if" statement in checout_success/header_php.php is never satisfied.

    I have checked all the files and code and have confirmed that they match Dr Bytes suggestion. But still, it just shows the default response.

    Not sure where to even start looking to solve this problem or to test it step by step. Any ideas?

  3. #3
    Join Date
    Jan 2004
    Posts
    66,446
    Plugin Contributions
    81

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    Quote Originally Posted by thomasw98 View Post
    The custom coding is not working for me...it just shows the default text "Thank you for your order". It seems as if the "if" statement in checout_success/header_php.php is never satisfied.

    I have checked all the files and code and have confirmed that they match Dr Bytes suggestion. But still, it just shows the default response.

    Not sure where to even start looking to solve this problem or to test it step by step. Any ideas?
    Hmmm ... Slight change to step #2 ... instead of putting it near the top, put it down around line 38 ... specifically *after* this line:
    Code:
    require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  4. #4
    Join Date
    Aug 2007
    Location
    Eugene, OR
    Posts
    162
    Plugin Contributions
    0

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    Quote Originally Posted by DrByte View Post
    Hmmm ... Slight change to step #2 ... instead of putting it near the top, put it down around line 38 ... specifically *after* this line:
    Code:
    require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
    Well, that sorta works but not quite...here's what happens now:

    Test order a product. Select payment method (for this example, COD), continue, then confirm the order, wait while it tries to reach success..but no, it errors out. Can not display page. But the order has been booked into the system properly and the email to the store owner and the customer are both successfully sent.

    Go back to index page. Cart is empty. Pick a product and checkout. On the select payment type page, the radio button for COD is already selected! click continue, then confirm order. Wait. Yes, it is successful...but only sometimes (that's the part that annoys me...inconsistent error behavior ). Either way, whether success page is displayed or not, the order has been recorded and emails sent out properly.

    Cycling through it again and again, sometimes the radio button is already selected (it is always the same as your last order) and sometimes not.

    Pretty weird behavior

  5. #5
    Join Date
    Jan 2004
    Posts
    66,446
    Plugin Contributions
    81

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    Quote Originally Posted by thomasw98 View Post
    ...wait while it tries to reach success..but no, it errors out. Can not display page. But the order has been booked into the system properly and the email to the store owner and the customer are both successfully sent.

    Go back to index page. Cart is empty. Pick a product and checkout. On the select payment type page, the radio button for COD is already selected!
    That's normal behaviour if the order didn't complete properly due to a server/PHP error.


    The "cannot display page" suggests that you've made an error in your PHP editing.
    What's in the server errorlog this time?
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  6. #6
    Join Date
    Aug 2007
    Location
    Eugene, OR
    Posts
    162
    Plugin Contributions
    0

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    Quote Originally Posted by DrByte View Post
    That's normal behaviour if the order didn't complete properly due to a server/PHP error.


    The "cannot display page" suggests that you've made an error in your PHP editing.
    What's in the server errorlog this time?
    Errorlog: I use a Chinese virtual server, and they do not give me access to error logs. Their services are very limited in many ways like that, plus they are expensive. What a great deal!

    Now I am at my office and the script seems to run perfectly, so I guess it was an internet connection problem that was creating the unreliable results yesterday.

    Only problem I have left is that some payment types work perfectly, and give the proper message on the success page, but one of them does not ("Postal Transfer"...a way of transferring money via the post office here in China). For some reason it always gives the default response. I will check the payment type name to be sure I am using the correct matching text variable name.

    So, it seems I am nearly there. Thanks again for all your help! I think this code will also be of use to many other people using Zencart.

  7. #7
    Join Date
    Jan 2004
    Posts
    66,446
    Plugin Contributions
    81

    Default Re: Customizing Checkout Success Page Note based on Payment Method?

    What's the filename of your payment transfer module ? that's what you need to use in the new language definition.
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

 

 

Similar Threads

  1. shipping method based on payment method?
    By psr racing in forum Built-in Shipping and Payment Modules
    Replies: 2
    Last Post: 27 Apr 2011, 01:25 PM
  2. Customizing Checkout Success Page Note based on Product Purchased
    By redknights11 in forum Templates, Stylesheets, Page Layout
    Replies: 4
    Last Post: 29 Mar 2009, 07:26 AM
  3. Replies: 9
    Last Post: 13 Dec 2007, 04:45 PM
  4. Customizing checkout success page
    By s_p_ike in forum Addon Payment Modules
    Replies: 2
    Last Post: 16 Oct 2006, 02:59 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