Aw: special return info for paypal payments
ah i finally understand what you tried to tell me.
the JSFactory::getTable should have given me the orders table..
but since $order_id is empty (in Chrome) $order->load($order_id); doesnt work.
So i get an object with NULL data.
Is there another way to receive the $order_id cause $checkout->getEndOrderId(); doesnt seem to work (in Chrome)
the website is:
https://www.stonesunlimited.de
no login for buying needed or do you mean one for joomla or ftp?
i still have paypal sandbox active.
so you can try. i guess you have a sandbox account. ;)
I added a screenshot of the last Chrome website after a successfull paypal payment.
as you can see i simply made a dump of the class to see if anything was passed... and everything was NULL. *sigh*
EDIT: (SOLVED)
The problem is that the redirect has status 303 but should have 307.
Firefox ignores the variable passing rules and so it works.
chrome... deletes all post data (303 only sents get data) so all data is lost.
I changed your checkout.php
added protected variable $redirectStatus;
and added an overrite the the redirect function:
public function redirect() {
if ($this->redirect) {
$app = \JFactory::getApplication();
// Enqueue the redirect message
$app->enqueueMessage($this->message, $this->messageType);
// Execute the redirect
if (!empty($this->redirectStatus)) {
$status = $this->redirectStatus;
$this->redirectStatus = null;
$app->redirect($this->redirect, $status);
} else {
$app->redirect($this->redirect);
}
}
return false;
}
for checking of paypalpayment i simply can check now against $_POST["paiment_status"] == "Completed" and it works now.
...
in both browsers.
The solution might be interesting for you cause with paypal agb the shop must return another information... maybe a featrue for your next update.
Last change: 10.01.2021 17:41