Jump to content

No download link for virtual product


hafizadam

Recommended Posts

I'm using Prestashop 1.6.0.9

 

I tried to buy a TestProduct using Guest account.

 

After the order marked with Payment Accepted, I got an email but no download link.

 

2e1xi7p.jpg

I suspected there was problem with Guest account so I created an account to test.

 

Still no download link in Order History.

 

wvcwzo.jpg

Below is my product settings

 

k4hwld.jpg

292whkx.jpg

Is there anything else I should check?

Link to comment
Share on other sites

as I tried and error with the settings, I found the solution:

 

CREATE & SET DEFAULT NEW SHIPPING CARRIER WHICH AVAILABLE TO ALL ZONES

 

both Guest and Customer account worked like charm without any problems.

thanks and perhaps this topic can be closed.

 

p/s: sorry, this is my first time using PrestaShop

Edited by hafizadam (see edit history)
Link to comment
Share on other sites

Hi Eduardo,

1. Open your Admin Area and go to Shipping > Carriers

2. Add New Carriers

3. You can use anything for the name and transit time

4. Tick ALL in the range area

5. Go to Shipping > Preferences

6. Set the carrier you just created to Default

117cz2u.jpg

If you still have error in download link, it might be error in your OrderHistory.php
Try this tutorial and check if the code is right:
https://github.com/PrestaShop/PrestaShop/commit/34a2c0191c642ef2456885dfe21da2a1d9442fe5

Link to comment
Share on other sites

Many thanks for your help.

About the classes/order/OrderHistory.php file I have the following code:

// executes hook
		if (in_array($new_os->id, array(Configuration::get('PS_OS_PAYMENT'), Configuration::get('PS_OS_WS_PAYMENT'))))
			Hook::exec('actionPaymentConfirmation', array('id_order' => (int)$order->id), null, false, true, false, $order->id_shop);

		// executes hook
		Hook::exec('actionOrderStatusUpdate', array('newOrderStatus' => $new_os, 'id_order' => (int)$order->id), null, false, true, false, $order->id_shop);

		if (Validate::isLoadedObject($order) && ($new_os instanceof OrderState))
		{
			// An email is sent the first time a virtual item is validated
			$virtual_products = $order->getVirtualProducts();

Do you think it can be corrected? My PS version is 1.6.0.8.

 

I thought to also change preferences in the localization sector: Zone, Nation, States. I enabled all.

 

The script did not accept the payment of foreign users, that is, in my case, not Italian.

 

Do you think now it should work all right?

Link to comment
Share on other sites

×
×
  • Create New...