Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1
    Join Date
    Nov 2006
    Posts
    47
    Plugin Contributions
    0

    help question Downloads are not available until payment has been confirmed


    I've read the other postings for this particular situation and can't seem to figure out what's causing this.

    Can someone please explain exactly WHAT (either one thing or a list) triggers this message: "Downloads are not available until payment has been confirmed"

    History: I just finished the daunting task of migrating customer AND order information over to ZenCart (which basically entailed recreating the entire structure). Everything looks GREAT - and everything is where it's supposed to be.

    We have a total of 4 items - each item is a downloadable PDF with "bonus" pdf's (as attributes) - again, everything is where it's supposed to be, the downloadable files show up in admin order entry, the "hierarchy" product shows up in the customer's history, etc. But I can't seem to figure out what I'm missing to get the downloads available.

    I've literally looked everywhere. I've quadruply checked the attribute settings:

    Enable Downloads: true
    Download by Redirect: true
    Download by streaming: false
    Download Expiration (Number of Days): Initially set to -0- for unlimited, even tried -365-
    Number of Downloads Allowed: Again, initially set to -0- for unlimited, even tried -999-
    Downloads Controller Update Status: 3
    Downloads Controller Order Status (lower): 1
    Downloads Controller Order Status (upper): 4
    (where 1=processing, 2=pending, 3=delivered, 4=update)
    (I've pretty much tried every possible combiniation for the Downloads Controller settings)

    I initially thought maybe it was because I didn't have a payment or shipping method, so I added them - no change. Then I installed Super Orders thinking it had something to do with the order status and wanted to be able to "batch update" - nothing.

    One thing I did find interesting is that even though I've attached a payment method to each order, each order is still showing as having a balance due - so I need to figure that out too.

    Also - all orders are currently showing that the downloads have expired. So I tested one order by making each item active (green) - still no access via customer side.

    Please help - I've been working on this project for 2 weeks and I thought I was finally done.

    Thank you!
    Michelle

  2. #2
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    64,697
    Plugin Contributions
    6

    Default Re: Downloads are not available until payment has been confirmed

    On the Payment Method is an Orders Status ...

    Downloads are setup that they are automatically available when set with an orders_status >= 2 (Processing) and <= 4 (Updated) ...

    This allows you to have things like Credit Cards being automatic and things like Check/Money Order be delayed until money is in hand ...
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.1]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...

  3. #3
    Join Date
    Nov 2006
    Posts
    47
    Plugin Contributions
    0

    Default Re: Downloads are not available until payment has been confirmed

    Thank you, but I'm fully aware of that part - I probably should have mentioned - I used "Credit Card" (module name of "cc") and "Set Order Status" to "3" (delivered).

    Next?

    Thanks!
    Michelle

  4. #4
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    64,697
    Plugin Contributions
    6

    Default Re: Downloads are not available until payment has been confirmed

    Check on the Attribute of the Product itself for the download ... what are the Days and Number allowed?
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.1]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...

  5. #5
    Join Date
    Nov 2006
    Posts
    47
    Plugin Contributions
    0

    Default Re: Downloads are not available until payment has been confirmed

    Initially I believe they were set at -0- (unlimited for both) - but when that wasn't working I changed them to -365- and -365- and still no change.

    Next?

    Michelle

  6. #6
    Join Date
    Nov 2006
    Posts
    47
    Plugin Contributions
    0

    Default Re: Downloads are not available until payment has been confirmed

    P.S. I also changed the values in the Downloads Manager - no change.

    Thanks!
    Michelle

  7. #7
    Join Date
    Oct 2006
    Location
    Alberta, Canada
    Posts
    4,128
    Plugin Contributions
    0

    Default Re: Downloads are not available until payment has been confirmed

    One thing I did find interesting is that even though I've attached a payment method to each order, each order is still showing as having a balance due - so I need to figure that out too.
    I would think that if you fix that problem you'll automatically fix the other.
    The learning is in the doing.

    Potent Products

  8. #8
    Join Date
    Nov 2006
    Posts
    47
    Plugin Contributions
    0

    help question Re: Downloads are not available until payment has been confirmed

    I thought that was probably it too - but there's no other way to "attach" a payment with an order (that I found). The only reference to payment is in the "orders" table - it asks for payment method (which I as mentioned above is set to "cc") Do you know where else payment information for a particular order is?

    The only other thing it may be has to do with the products_prid in the table "orders_products_download" and again in "orders_products_attributes" - I read that the product_prid is automatically generated (hash type stuff) when the person puts the item in their cart and then when they actually checkout. But I have no way of "generating that" and not really sure if it has anything to do with this.

    If I knew exactly what "TRIGGERS" that "hold note" then I could go down the line and figure out the issue.

    Thank you!
    Michelle

  9. #9
    Join Date
    Jan 2004
    Posts
    58,259
    Blog Entries
    3
    Plugin Contributions
    106

    Default Re: Downloads are not available until payment has been confirmed

    1. You are getting a message saying "Downloads are not available until ...", so, search the /includes/languages folders for "Downloads are not available until" to see which constant that's defined in.
    That brings up this:
    define('DOWNLOADS_CONTROLLER_ON_HOLD_MSG','NOTE: Downloads are not available until payment has been confirmed');

    2. So now search the /includes folder for that constant:
    DOWNLOADS_CONTROLLER_ON_HOLD_MSG
    found in:
    /includes/templates/tpl_modules_downloads.php:
    [FONT="Courier New"]<?php
    // download is not available yet
    if ($downloads_check_query->RecordCount() > 0 and $downloads->RecordCount() < 1) {
    ?>
    <fieldset><?php echo DOWNLOADS_CONTROLLER_ON_HOLD_MSG ?></fieldset>
    <?php
    }
    ?>
    [/FONT]


    3. Now search /includes for $downloads_check_query:
    found in:
    /includes/modules/downloads.php:

    Code:
    // If there is a download in the order and they cannot get it, tell customer about download rules
    $downloads_check_query = $db->Execute("select o.orders_id, opd.orders_products_download_id
                              from " .
    TABLE_ORDERS . " o, " .
    TABLE_ORDERS_PRODUCTS_DOWNLOAD . " opd
                              where
                              o.orders_id = opd.orders_id
                              and o.orders_id = '" . (int)$last_order . "'
                              and opd.orders_products_filename != ''
                              ");
    So, this tells you that it checks the "orders" and "orders_products_download" tables for downloads whose filename is not blank, and having an order ID matching the most recent order placed by that customer.

    4. Additionally, the $downloads->RecordCount reference applies to the same file, where the $downloads query was run:
    Code:
    // Now get all downloadable products in that order
    $downloads_query = "select date_format(o.date_purchased, '%Y-%m-%d') as date_purchased_day,
                                 opd.download_maxdays, op.products_name, opd.orders_products_download_id,
                                 opd.orders_products_filename, opd.download_count, opd.download_maxdays
                          from " . TABLE_ORDERS . " o, " . TABLE_ORDERS_PRODUCTS . " op, "
    . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " opd
                          where o.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                          and (o.orders_status >= '" . DOWNLOADS_CONTROLLER_ORDERS_STATUS . "'
                          and o.orders_status <= '" . DOWNLOADS_CONTROLLER_ORDERS_STATUS_END . "')
                          and o.orders_id = '" . (int)$last_order . "'
                          and o.orders_id = op.orders_id
                          and op.orders_products_id = opd.orders_products_id
                          and opd.orders_products_filename != ''";
    
    $downloads = $db->Execute($downloads_query);
    This checks the orders, orders_products, orders_products_download tables for downloadable items connected with that order where the order-status is within the right range.
    The constant is displayed if there are no downloads that match these criteria.

    So, this suggests that the reason your downloads aren't being made available is that your orders' order_status doesn't fall within the range defined by the upper-and-lower limits set in the Attributes Settings admin page.

    And if you're convinced that the settings are correct, then maybe you've got some custom code that's busting it, or you've got some database corruption that's preventing good data from being retrieved. Or something otherwise preventing normal operation.
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donations always welcome: www.zen-cart.com/donate

    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.

  10. #10
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    64,697
    Plugin Contributions
    6

    Default Re: Downloads are not available until payment has been confirmed

    You also mentioned that you changed the settings on the Attribute Settings ...

    You also need to check the settings on the individual Attributes of a Product and know that changing settings after the fact will not change an existing order but will affect new orders ...

    You said you are using 0 Maximum Days and 0 Downloads ... that is more like never ...

    Try, for giggles, to edit a Product and the download attribute and set it to 7 days and 5 Download attempts ...

    Does it work?

    If so, be aware that to set to Unlimited you would want 0 Days and then set the number of Downloads high enough to allow for this ... setting to 0 means, you get 0 chances to download the file within the Unlimited number of days ...

    The default settings for the Attribute Settings are:
    Attribute Settings
    Title Value
    Enable Downloads true
    Download by Redirect true
    Download by streaming false
    Download Expiration (Number of Days) 7
    Number of Downloads Allowed - Per Product 5
    Downloads Controller Update Status Value 4
    Downloads Controller Order Status Value >= lower value 2
    Downloads Controller Order Status Value <= upper value 4
    Enable Price Factor true
    Enable Qty Price Discount
    Enable Attribute Images
    Enable Text Pricing by word or letter
    Text Pricing - Spaces are Free 1
    Read Only option type - Ignore for Add to Cart 1
    Where Order Status (orders_status) settings are:
    Pending 1
    Processing 2
    Delivered 3
    Updated 4
    These Orders Status settings are to be defined per Payment Module in the Modules ... Payments ... when you edit the Payment Module ...
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.1]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...

 

 
Page 1 of 2 12 LastLast

Similar Threads

  1. Checkout first, then shipping charges to be confirmed later
    By maza in forum Built-in Shipping and Payment Modules
    Replies: 9
    Last Post: 19 Jan 2011, 07:26 AM
  2. Paypal eCheque payment for downloads
    By zzfozz in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 15 Dec 2009, 05:11 PM
  3. Confirmed bugs and workarounds in v1.3.5
    By DrByte in forum Bug Reports
    Replies: 17
    Last Post: 3 Oct 2006, 09:49 PM
  4. Confirmed bugs and workarounds in v1.3.5
    By DrByte in forum Upgrading from 1.3.x to 1.3.9
    Replies: 0
    Last Post: 6 Sep 2006, 03:18 AM

Bookmarks

Posting Permissions

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