Post by ryenoceros » Fri Mar 09, 2012 3:45 am

I am using opencart 1.5.1.3 and experiencing a problem with the IPN from paypal standard.
The Notification URL I am seeing in paypal is http://www.MYDOMAIN.com/payment/pp_standard/callback
PayPal is processing the payment - so I received that notification, but the orders are being marked as
All incoming orders are being marked as 'abandoned orders' and are not sending the proper email notifications to the client and the admin.

There is a 404 on the paypal IPN page.

I have seen that many others have this similar issue. Has anyone solved it?
I hope so.
Thanks in advance!

New member

Posts

Joined
Tue Feb 21, 2012 6:26 am

Post by Qphoria » Fri Mar 09, 2012 4:03 am

If IPN History on the paypal page shows "404" for that callback page, then something on your site is blocking it.
Try loading that callback url in your browser.. does it take you to 404? It shouldnt.

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by ryenoceros » Fri Mar 09, 2012 4:52 am

Thank you for the quick response. Yes, the callback URL does show a 404. I have tried to manually update my success page in paypal, but that is not the URL that shows up for the notify URL on their IPN. I called them and they said that they believe my software is over-riding their fields. I am stuck. Thanks in advance!

New member

Posts

Joined
Tue Feb 21, 2012 6:26 am

Post by Qphoria » Sat Mar 10, 2012 9:03 am

Yes the software should be overriding it.

Go there yourself:
http://yoursite.com/index.php?route=pay ... d/callback

change "yoursite.com" to your actual site and load it in a brower. Do you get 404?

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by ryenoceros » Sun Mar 11, 2012 3:31 am

yes, I am getting a 404 for that url with my domain name in the right spot.

New member

Posts

Joined
Tue Feb 21, 2012 6:26 am

Post by ryenoceros » Sat Mar 17, 2012 9:02 pm

So I know now that the IPN is just not working and it's been causing a lot of annoying problems for the site. I really need assistance from anyone else who has had this issue and been able to fix it.
I am getting a 404 error from the IPN history at paypal. I am using 1.5.1.3 of opencart.

Thanks in advance!

New member

Posts

Joined
Tue Feb 21, 2012 6:26 am

Post by mkgriver » Tue Apr 17, 2012 2:10 am

Has anyone worked though this issue and found a good solution? I have had zero success getting standard PayPal's IPN to work with my site. I have the 404 issue on the call back URL and am currently using v1.5.1.3 also. Any help would be much appreciated.

Newbie

Posts

Joined
Tue Apr 17, 2012 2:06 am

Post by Qphoria » Wed Apr 18, 2012 2:12 am

What do you see when you goto the callback url manually?
http://yoursite.com/index.php?route=pay ... d/callback

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by mkgriver » Wed Apr 18, 2012 3:04 am

Thanks Qphoria...

The failing Paypal IPN is trying to send to:
mysite.com/payment/pp_standard/callback
Manually calling the the URL returns: The page you requested cannot be found.

If I change the path to:
mysite.com/index.php?route=payment/pp_standard/callback
The page is returns blank (nothing in source code either). If this is what should be returned, I have an issue with the URL path, but I am not certain on how to correct it...

FYI - I do have SEO friendly links active, flat-rate shipping module enabled. After continued failure, I also activated the PDT for this version of OC.

Newbie

Posts

Joined
Tue Apr 17, 2012 2:06 am

Post by Qphoria » Wed Apr 18, 2012 11:12 pm

mkgriver wrote:Thanks Qphoria...

The failing Paypal IPN is trying to send to:
mysite.com/payment/pp_standard/callback
Manually calling the the URL returns: The page you requested cannot be found.

If I change the path to:
mysite.com/index.php?route=payment/pp_standard/callback
The page is returns blank (nothing in source code either). If this is what should be returned, I have an issue with the URL path, but I am not certain on how to correct it...

FYI - I do have SEO friendly links active, flat-rate shipping module enabled. After continued failure, I also activated the PDT for this version of OC.
Ah.. this is the problem it seems. SEO Friendly links may be causing the problem since youare seeing 404
The blank page you saw from mysite.com/index.php?route=payment/pp_standard/callback is correct, since it is expected callback variables. But 404 not found is what paypal is seeing and failing on.
So you need to remove or fix the friendly urls

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by mkgriver » Wed Apr 18, 2012 11:51 pm

Okay, I disabled the SEO links... If the IPN failure clears up, I'll either live with standard links or work through the SEO link issue at a later date. Thanks again!

Newbie

Posts

Joined
Tue Apr 17, 2012 2:06 am

Post by mkgriver » Fri Apr 20, 2012 1:41 am

FYI to anyone having this issue in 1.5.1.3
OC's SEO links will change your call back path, so PayPal's IPN will fail. I removed the SEO links until I can work through a better solution, but at least my PayPal orders are no longer showing as abandoned.

Thanks Q for the heads-up on this!

Newbie

Posts

Joined
Tue Apr 17, 2012 2:06 am

Post by Demon5 » Fri Apr 20, 2012 4:20 am

I am having abandoned orders on 1.5.2.1 except paypal is still going to correct address which shows blank white in browser
https://www.lordofthe.net/index.php?rou ... d/callback


this is in my error log and is every time I get paypal payment . I removed the stuff after gross_ for customer information privacy. Paypal response code is 200. I never had these issues before the update to 1.5.2 so I'm not sure if this is some major bug in new version or what.

Code: Select all

2012-04-19 20:03:52 - PP_STANDARD :: CURL failed SSL connection timeout(28)
2012-04-19 20:03:52 - PP_STANDARD :: IPN REQUEST: cmd=_notify-validate&mc_gross_*******
2012-04-19 20:03:52 - PP_STANDARD :: IPN RESPONSE:

2012-04-19 20:03:52 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006
<br />SELECT *, (SELECT os.name FROM `order_status` os WHERE os.order_status_id = 
o.order_status_id AND os.language_id = o.language_id) AS order_status FROM `order` o WHERE 
o.order_id = '9592214' in /xxxxx/system/database/mysql.php on line 49

2012-04-19 20:09:41 - PHP Notice:  Undefined variable: order_id in 
/xxxxxxxxxxxxxxx/catalog/controller/account/order.php on line 149

https://www.lotnllc.com is your one stop shop for all your computer needs!


User avatar
Active Member

Posts

Joined
Sat Jun 19, 2010 4:12 am
Location - Sacramento, CA

Post by Demon5 » Sun Apr 22, 2012 6:21 am

In case anyone else is having the same issue. This took many many unix admins to figure out. The problem was caused by recent pci compliance upgrade of openssl. PHP implementation of curl is not compatible with openssl 1.x and downgrading to openssl to 0.9.8 with all the current patches should still keep it compliant and fixed the problem. Basically curl was working fine connecting to https://www.paypal.com from command line which really made me look at the paypal standard which wasn't the problem. test php script for perl was just timing out for the ssl version of paypal site but worked for all non ssl sites. Also would automatically switch over to the non ssl version of sites so others looked like they worked when using https. Being that paypal didn't have a non ssl version this was like the only site not working which confused even more.

I hope this helps anyone in the future with similar problems.

Code: Select all

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.paypal.com");
$result = curl_exec($ch);
echo '<pre>';
print_r(curl_getinfo($ch));
echo '</pre>';
echo 'Errors: ' . curl_errno($ch) . ' ' . curl_error($ch) . '<br><br>';
curl_close ($ch);
echo $result . 'EOF';
?>
Last edited by Demon5 on Thu Jun 14, 2012 10:33 pm, edited 1 time in total.

https://www.lotnllc.com is your one stop shop for all your computer needs!


User avatar
Active Member

Posts

Joined
Sat Jun 19, 2010 4:12 am
Location - Sacramento, CA

Post by labeshops » Thu Apr 26, 2012 3:07 am

I'm sorry but not following. Is this a correction to an opencart file or what do you do with it???

I don't know what curl is. :P

Running Opencart v2.2 with multi-stores from https://www.labeshops.com which has links to all my stores.

Image


User avatar
Expert Member

Posts

Joined
Thu Aug 04, 2011 4:41 am
Location - Florida, USA

Post by Demon5 » Thu Apr 26, 2012 3:22 am

if you were having the issue I was having you would want to contact your web host. make sure running openssl 0.9.8 instead of 1.x. And recompile apache/php with the openssl 0.9.8 libraries and also make sure curl is compiled with the openssl 0.9.8 libary. Your web hosting provider should understand. Especially hostgator if you use them since a large # of their admins were involved in figuring this out.

The code I put above if you make like a test.php file and put that in the code. If it shows paypal website this is not your problem. If it says SSL Timeout then it probably is.

https://www.lotnllc.com is your one stop shop for all your computer needs!


User avatar
Active Member

Posts

Joined
Sat Jun 19, 2010 4:12 am
Location - Sacramento, CA

Post by MZBS » Tue May 29, 2012 1:52 am

Hello,

I have the same issue with 1.5.2.1.

When I enter on index.php?route=payment/pp_standard/callback in my site I get a white page with a "0".

I have added the Demon5 test to my page and I see under some lines of information the PayPal page correctly.

But I still get all my orders as abandoned.

Thank you.

New member

Posts

Joined
Tue Jan 17, 2012 1:36 am

Post by kgkaraoke » Thu Jun 14, 2012 10:20 pm

Qphoria wrote:
mkgriver wrote:Thanks Qphoria...

The failing Paypal IPN is trying to send to:
mysite.com/payment/pp_standard/callback
Manually calling the the URL returns: The page you requested cannot be found.

If I change the path to:
mysite.com/index.php?route=payment/pp_standard/callback
The page is returns blank (nothing in source code either). If this is what should be returned, I have an issue with the URL path, but I am not certain on how to correct it...

FYI - I do have SEO friendly links active, flat-rate shipping module enabled. After continued failure, I also activated the PDT for this version of OC.
Ah.. this is the problem it seems. SEO Friendly links may be causing the problem since youare seeing 404
The blank page you saw from mysite.com/index.php?route=payment/pp_standard/callback is correct, since it is expected callback variables. But 404 not found is what paypal is seeing and failing on.
So you need to remove or fix the friendly urls
You will need to modify the code in catalog/controller/payment/pp_standard.php

Find:

Code: Select all

$this->data['notify_url'] = $this->url->link('payment/pp_standard/callback', '', 'SSL');
and change it to:

Code: Select all

$this->data['notify_url'] = $this->url->link('index.php?route=payment/pp_standard/callback', '', 'SSL');
This will solve the callback issue.

New member

Posts

Joined
Fri Oct 29, 2010 9:06 am

Post by kgkaraoke » Fri Jun 15, 2012 1:13 am

ryenoceros wrote:I am using opencart 1.5.1.3 and experiencing a problem with the IPN from paypal standard.
The Notification URL I am seeing in paypal is http://www.MYDOMAIN.com/payment/pp_standard/callback
PayPal is processing the payment - so I received that notification, but the orders are being marked as
All incoming orders are being marked as 'abandoned orders' and are not sending the proper email notifications to the client and the admin.

There is a 404 on the paypal IPN page.

I have seen that many others have this similar issue. Has anyone solved it?
I hope so.
Thanks in advance!
THIS SHOULD TAKE CARE OF THE ABANDONED ORDERS PROBLEM.
THE FOLLOWING IS A RECOMMENDED catalog/controller/payment/pp_standard.php FILE

Code: Select all

<?php
class ControllerPaymentPPStandard extends Controller {
	protected function index() {
		$this->language->load('payment/pp_standard');
		
		$this->data['text_testmode'] = $this->language->get('text_testmode');		
    	
		$this->data['button_confirm'] = $this->language->get('button_confirm');

		$this->data['testmode'] = $this->config->get('pp_standard_test');
		
		if (!$this->config->get('pp_standard_test')) {
    		$this->data['action'] = 'https://www.paypal.com/cgi-bin/webscr';
  		} else {
			$this->data['action'] = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
		}

		$this->load->model('checkout/order');

		$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);

		if ($order_info) {
			$this->data['business'] = $this->config->get('pp_standard_email');
			$this->data['item_name'] = html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8');				
			
			$this->data['products'] = array();
			
			foreach ($this->cart->getProducts() as $product) {
				$option_data = array();
	
				foreach ($product['option'] as $option) {
					if ($option['type'] != 'file') {
						$value = $option['option_value'];	
					} else {
						$filename = $this->encryption->decrypt($option['option_value']);
						
						$value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
					}
										
					$option_data[] = array(
						'name'  => $option['name'],
						'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)
					);
				}
				
				$this->data['products'][] = array(
					'name'     => $product['name'],
					'model'    => $product['model'],
					'price'    => $this->currency->format($product['price'], $order_info['currency_code'], false, false),
					'quantity' => $product['quantity'],
					'option'   => $option_data,
					'weight'   => $product['weight']
				);
			}	
			
			$this->data['discount_amount_cart'] = 0;
			
			$total = $this->currency->format($order_info['total'] - $this->cart->getSubTotal(), $order_info['currency_code'], false, false);

			if ($total > 0) {
				$this->data['products'][] = array(
					'name'     => $this->language->get('text_total'),
					'model'    => '',
					'price'    => $total,
					'quantity' => 1,
					'option'   => array(),
					'weight'   => 0
				);	
			} else {
				$this->data['discount_amount_cart'] -= $total;
			}
			
			$this->data['currency_code'] = $order_info['currency_code'];
			$this->data['first_name'] = html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8');	
			$this->data['last_name'] = html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');	
			$this->data['address1'] = html_entity_decode($order_info['payment_address_1'], ENT_QUOTES, 'UTF-8');	
			$this->data['address2'] = html_entity_decode($order_info['payment_address_2'], ENT_QUOTES, 'UTF-8');	
			$this->data['city'] = html_entity_decode($order_info['payment_city'], ENT_QUOTES, 'UTF-8');
			$this->data['state'] = html_entity_decode($order_info['payment_zone_code'], ENT_QUOTES, 'UTF-8');	
			$this->data['zip'] = html_entity_decode($order_info['payment_postcode'], ENT_QUOTES, 'UTF-8');	
			$this->data['country'] = $order_info['payment_iso_code_2'];
			$this->data['email'] = $order_info['email'];
			$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8') . ' ' . html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');
			$this->data['lc'] = $this->session->data['language'];
			$this->data['return'] = $this->url->link('index.php?route=checkout/success');
			$this->data['notify_url'] = $this->url->link('index.php?route=payment/pp_standard/callback', '', 'SSL');
			$this->data['cancel_return'] = $this->url->link('checkout/checkout', '', 'SSL');
			
			if (!$this->config->get('pp_standard_transaction')) {
				$this->data['paymentaction'] = 'authorization';
			} else {
				$this->data['paymentaction'] = 'sale';
			}
			
			$this->data['custom'] = $this->encryption->encrypt($this->session->data['order_id']);
		
			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/pp_standard.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/payment/pp_standard.tpl';
			} else {
				$this->template = 'default/template/payment/pp_standard.tpl';
			}
	
			$this->render();
		}
	}
	
	public function callback() {
		if (isset($this->request->post['custom'])) {
			$order_id = $this->encryption->decrypt($this->request->post['custom']);
		} else {
			$order_id = 0;
		}		
		
		$this->load->model('checkout/order');
				
		$order_info = $this->model_checkout_order->getOrder($order_id);
		
		if ($order_info) {
			$request = 'cmd=_notify-validate';
		
			foreach ($this->request->post as $key => $value) {
				$request .= '&' . $key . '=' . urlencode(html_entity_decode($value, ENT_QUOTES, 'UTF-8'));
			}
			
			if (!$this->config->get('pp_standard_test')) {
				$curl = curl_init('https://www.paypal.com/cgi-bin/webscr');
			} else {
				$curl = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr');
			}

			curl_setopt($curl, CURLOPT_POST, true);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($curl, CURLOPT_HEADER, false);
			curl_setopt($curl, CURLOPT_TIMEOUT, 30);
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
					
			$response = curl_exec($curl);
			
			if (!$response) {
				$this->log->write('PP_STANDARD :: CURL failed ' . curl_error($curl) . '(' . curl_errno($curl) . ')');
			}
					
			if ($this->config->get('pp_standard_debug')) {
				$this->log->write('PP_STANDARD :: IPN REQUEST: ' . $request);
				$this->log->write('PP_STANDARD :: IPN RESPONSE: ' . $response);
			}
						
			if ((strcmp($response, 'VERIFIED') == 0 || strcmp($response, 'UNVERIFIED') == 0) && isset($this->request->post['payment_status'])) {
				$order_status_id = $this->config->get('config_order_status_id');
				
				switch($this->request->post['payment_status']) {
					case 'Canceled_Reversal':
						$order_status_id = $this->config->get('pp_standard_canceled_reversal_status_id');
						break;
					case 'Completed':
						if ((strtolower($this->request->post['receiver_email']) == strtolower($this->config->get('pp_standard_email'))) && ((float)$this->request->post['mc_gross'] == $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false))) {
							$order_status_id = $this->config->get('pp_standard_completed_status_id');
						} else {
							$this->log->write('PP_STANDARD :: RECEIVER EMAIL MISMATCH! ' . strtolower($this->request->post['receiver_email']));
						}
						break;
					case 'Denied':
						$order_status_id = $this->config->get('pp_standard_denied_status_id');
						break;
					case 'Expired':
						$order_status_id = $this->config->get('pp_standard_expired_status_id');
						break;
					case 'Failed':
						$order_status_id = $this->config->get('pp_standard_failed_status_id');
						break;
					case 'Pending':
						$order_status_id = $this->config->get('pp_standard_pending_status_id');
						break;
					case 'Processed':
						$order_status_id = $this->config->get('pp_standard_processed_status_id');
						break;
					case 'Refunded':
						$order_status_id = $this->config->get('pp_standard_refunded_status_id');
						break;
					case 'Reversed':
						$order_status_id = $this->config->get('pp_standard_reversed_status_id');
						break;	 
					case 'Voided':
						$order_status_id = $this->config->get('pp_standard_voided_status_id');
						break;								
				}
				
				if (!$order_info['order_status_id']) {
					$this->model_checkout_order->confirm($order_id, $order_status_id);
				} else {
					$this->model_checkout_order->update($order_id, $order_status_id);
				}
			} else {
				$this->model_checkout_order->confirm($order_id, $this->config->get('config_order_status_id'));
			}
			
			curl_close($curl);
		}	
	}
}
?>
Also, change catalog/view/theme/YOUR-THEME/template/payment/ pp_standard.tpl file

Code: Select all

<?php if ($testmode) { ?>
<div class="warning"><?php echo $text_testmode; ?></div>
<?php } ?>
<form action="<?php echo $action; ?>" method="post">
  <input type="hidden" name="cmd" value="_cart" />
  <input type="hidden" name="upload" value="1" />
  <input type="hidden" name="business" value="<?php echo $business; ?>" />
  <?php $i = 1; ?>
  <?php foreach ($products as $product) { ?>
  <input type="hidden" name="item_name_<?php echo $i; ?>" value="<?php echo $product['name']; ?>" />
  <input type="hidden" name="item_number_<?php echo $i; ?>" value="<?php echo $product['model']; ?>" />
  <input type="hidden" name="amount_<?php echo $i; ?>" value="<?php echo $product['price']; ?>" />
  <input type="hidden" name="quantity_<?php echo $i; ?>" value="<?php echo $product['quantity']; ?>" />
  <input type="hidden" name="weight_<?php echo $i; ?>" value="<?php echo $product['weight']; ?>" />
  <?php $j = 0; ?>
  <?php foreach ($product['option'] as $option) { ?>
  <input type="hidden" name="on<?php echo $j; ?>_<?php echo $i; ?>" value="<?php echo $option['name']; ?>" />
  <input type="hidden" name="os<?php echo $j; ?>_<?php echo $i; ?>" value="<?php echo $option['value']; ?>" />
  <?php $j++; ?>
  <?php } ?>
  <?php $i++; ?>
  <?php } ?>
  <?php if ($discount_amount_cart) { ?>
  <input type="hidden" name="discount_amount_cart" value="<?php echo $discount_amount_cart; ?>" />
  <?php } ?>
  <input type="hidden" name="currency_code" value="<?php echo $currency_code; ?>" />
  <input type="hidden" name="first_name" value="<?php echo $first_name; ?>" />
  <input type="hidden" name="last_name" value="<?php echo $last_name; ?>" />
  <input type="hidden" name="address1" value="<?php echo $address1; ?>" />
  <input type="hidden" name="address2" value="<?php echo $address2; ?>" />
  <input type="hidden" name="city" value="<?php echo $city; ?>" />
  <input type="hidden" name="state" value="<?php echo $state; ?>" />
  <input type="hidden" name="zip" value="<?php echo $zip; ?>" />
  <input type="hidden" name="country" value="<?php echo $country; ?>" />
  <input type="hidden" name="address_override" value="0" />
  <input type="hidden" name="email" value="<?php echo $email; ?>" />
  <input type="hidden" name="invoice" value="<?php echo $invoice; ?>" />
  <input type="hidden" name="lc" value="<?php echo $lc; ?>" />
  <input type="hidden" name="rm" value="2" />
  <input type="hidden" name="no_note" value="1" />
  <input type="hidden" name="charset" value="utf-8" />
  <input type="hidden" name="return" value="<?php echo $return; ?>" />
  <input type="hidden" name="notify_url" value="<?php echo $notify_url; ?>" />
  <input type="hidden" name="cancel_return" value="<?php echo $cancel_return; ?>" />
  <input type="hidden" name="paymentaction" value="<?php echo $paymentaction; ?>" />
  <input type="hidden" name="custom" value="<?php echo $custom; ?>" />
  <div class="buttons">
    <div class="right">
      <input type="submit" value="<?php echo $button_confirm; ?>" class="button" />
    </div>
  </div>
</form>
These changes correct abandoned orders, 404 error with "success" page, and address information not being passed to PayPal.

How these folks at OpenCart can release vital code with so many errors baffles me.

New member

Posts

Joined
Fri Oct 29, 2010 9:06 am

Post by kgkaraoke » Fri Jun 15, 2012 7:25 am

ryenoceros wrote:I am using opencart 1.5.1.3 and experiencing a problem with the IPN from paypal standard.
The Notification URL I am seeing in paypal is http://www.MYDOMAIN.com/payment/pp_standard/callback
PayPal is processing the payment - so I received that notification, but the orders are being marked as
All incoming orders are being marked as 'abandoned orders' and are not sending the proper email notifications to the client and the admin.

There is a 404 on the paypal IPN page.

I have seen that many others have this similar issue. Has anyone solved it?
I hope so.
Thanks in advance!
Open the file catalog/controller/payment/pp_standard.php

Find the following:

Code: Select all

$this->data['return'] = $this->url->link('checkout/success');
$this->data['notify_url'] = $this->url->link('payment/pp_standard/callback', '', 'SSL');
Then replace these two lines with:

Code: Select all

$this->data['return'] = $this->url->link('index.php?route=checkout/success');
$this->data['notify_url'] = $this->url->link('index.php?route=payment/pp_standard/callback', '', 'SSL');
This fixes both the callback problem and the 404 Success page.

Don't look to Daniel & Company for much help, as their policy is to deny things are wrong and blame it on someone else, such as your web hosting provider.

OpenCart 5.1.X.X appears to have been a rush-job, and critical sections such as payment gateways have apparently not even been tested. It's sad, really it is.

New member

Posts

Joined
Fri Oct 29, 2010 9:06 am
Who is online

Users browsing this forum: No registered users and 3 guests