Payment Checkout Crash

This is frustrating . . . not sure how to post the error as the forum keeps stripping the post.

UserOne sets up product in store.

UserTwo purchases.  Everything works fine in store and cart and checkout.  UserTwo gets sent to correct paypal to finalize payment and send money.  The correct amount of money is transferred from UserTwo to UserOne.  However, when Paypal sends UserTwo back to the Dolphin install, it crashes on the m/payment/act_finalize_checkout/paypal/ page with an error.

Warning: Cannot modify header information - headers already sent by (output started at _________BxPmtModule.php:533) in _______BxPmtModule.php on line 518

What's happening and what exactly needs to be done to fix the beastie?

I tried posting the entire error message but the forum here is stripping the post so it shows up as an empty post.

Help!  Please.

-Brian

Quote · 16 Mar 2010

The problem error thing occurs whether it is purchasing from a user store or upgrading membership and either way the cart does not clear and the user is not credited with the purchase or upgrade privileges even though the paypal is correctly charged.

-Brian

Quote · 16 Mar 2010

Open up BxPmtModule.php and post line 518 here

Quote · 16 Mar 2010

Open up BxPmtModule.php and post line 518 here

header('Location: ' . $this->_oConfig->getReturnUrl());

Quote · 16 Mar 2010

It seems like the script should be redirecting but is not - the url in the statement on line 518 is probably missing

Double check your payment provider settings - specifically any URL'

Otherwise you will need to find a way to post your error message as this will give more info.

/DM

Dolphin - Ajax Masturbation
Quote · 16 Mar 2010

It seems like the script should be redirecting but is not - the url in the statement on line 518 is probably missing

Double check your payment provider settings - specifically any URL'

Otherwise you will need to find a way to post your error message as this will give more info.

/DM

The complete error is the same as above except that I have edited the bulk of the path statements to get to the file with the error.

My payment settings don't have a URL.  They are . . .

Active: check

Mode: live

Business: email@address.com

Process Type: direct

Connection Type: SSL

Identity Token:

Sandbox:

The last two are blank as it's a direct connection so no URL specifically or anything like that.  When I first set up my dolphin, my agent told me that IPN and PDT are not needed for D7 and that live is fine so no token is needed.

-Brian

Quote · 16 Mar 2010


My payment settings don't have a URL.  They are . . .

Active: check

Mode: live

Business: email@address.com

Process Type: direct

Connection Type: SSL

Identity Token:

Sandbox:

The last two are blank as it's a direct connection so no URL specifically or anything like that.  When I first set up my dolphin, my agent told me that IPN and PDT are not needed for D7 and that live is fine so no token is needed.

-Brian

I don't know where else one would configure a URL as I set the payment options via admin in the payment module or in the user's payment options.

-Brian

Quote · 16 Mar 2010

I dont mean to derail your thread here but brian how is that you still have zero post stats?

Quote · 16 Mar 2010

I dont mean to derail your thread here but brian how is that you still have zero post stats?

That had me curious too as I've started a few threads and replied to others.  Perhaps I'm a ghost.  I just assumed that it was a weird default thing or another.

-Brian

Quote · 16 Mar 2010

LOL - maybe you broke the post counter.

To post up the whole error message paste the code in the editor - highlight it and then select 'code' from the Styles box - this should preserve it and prevent it from getting garbled.

The error you have posted is saying that line 518 cannot print anything to the browser as something else already has - line 533 (headers can only be sent to browser once), but line 533 (an error handler) seems to have already sent something to the browser as an error has been detected - it is this error that we need to find.

Looking a bit closer it is perhaps more likely that the result code received by the provider is incorrect - it's expecting to see a value of 1 - this is checked immediately prior to line 518 - where the redirect is sent to the browser. However, if this error is detected the error handler is called (line 533) but the script is not stopped and is allowed to proceed (to line 518). So two headers are trying to be sent to the browser - causing an issue.

This is the line that checks for the payment result - that trips the error handler (result code 1 not received)

if((int)$aResult['code'] == 1)
$this->_oCart->updateInfo((int)$aResult['pending_id']);
else
$this->_

So if the user is NOT logged in - update the cart as 'pending_id', BUT if the user IS logged in (or any other error value is detected) call the error handler. The code does not check for a positive result code - ie code 0 - 'success'. Looks to me like the code is wrong.

Assuming that code 0 is OK / Success - It should probably be...

if((int)$aResult['code'] == 1)
$this->_oCart->updateInfo((int)$aResult['pending_id']);
else if((int)$aResult['code'] != 0)
$this->_onError($aResult);

However - without a working example to test myself, and only having a cursory glance through the code, this needs further verification. Perhaps best advice is report the issue to your agent.

HTH

/DM

Dolphin - Ajax Masturbation
Quote · 17 Mar 2010

Thanks.

-Brian

Quote · 18 Mar 2010
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.