Error: “” cannot be downloaded because payment has not been received yet.

Summary

When a customer attempts to download a product that was purchased, they get the error message ‘”” cannot be downloaded because payment has not been received yet.’, which appears to be in error. This error occurs on a WordPress installation using the default permalink URL structure.

Symptoms

When a customer attempts to download a download on a site using the default permalink structure, an error occurs when attempting to access a download URL such as:

 http://example.com/?shopp_page=account&src=download&s_dl=db7db4b7067641feb77e4271648000b618dc0c04

This problem does not occur on a site that is using one of the “Pretty Permalink” structures, such as Post Name, yielding a download link such as:

http://example.com/store/account/download/db7db4b7067641feb77e4271648000b618dc0c04

Error Message(s)

"" cannot be downloaded because payment has not been received yet.

Impacts

Shopp Version: 1.2, 1.2.1, 1.2.2

Known Causes

The download URL is malformed when not using one of the “Pretty Permalink” URL structures.

Work Arounds

On a shopp install that is affected by this problem, a filter callback and an action callback can be added to the theme to correct this problem. In your theme’s directory, usually wp-content/themes/your-theme-name/, add the following code to the functions.php file:

if ( function_exists('shopp') ) {
    add_action('parse_request','translate_s_dl_to_shopp_download',1);
    add_filter('query_vars','fix_s_dl_queryvar');
}
function fix_s_dl_queryvar ( $vars ) {
    $vars[] = 's_dl';
    return $vars;
}
function translate_s_dl_to_shopp_download ( $wp ) {
    $request = $wp->query_vars;

    if ( isset($request['shopp_page']) && isset($request['src']) && isset($request['s_dl']) ) {
        $wp->query_vars['shopp_download'] = $request['s_dl'];
    }
}

Bug Ticket

#1869

See Also

Error: “” cannot be downloaded because payment has not been received yet.
  • 0.00 / 5 5

You must be logged in to post a comment.

© Ingenesis Limited. Shopp™ is a registered trademark of Ingenesis Limited.

Skip to toolbar