Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal WPP Direct Payments & Express Checkout Support


dynamoeffects

Recommended Posts

This is weird... about 50% of all payments made with Express Checkout DONT return the phone number back.

 

I have it set as a mandatory field in my Paypal settings.... but 50% of the time I actually have to login to my paypal account to get their phone number.

 

Any way I can debug this to find out why sometimes the phone number is not sent back??

 

Any help would be appreciated! :)

Link to comment
Share on other sites

PayPal are advising the use of flat rate shipping only as there is a bug within Express Checkout that wont let it work with zone shipping. Is this a common fault between both versions or does it only apply to PayPal official module? Do anybody know a way round this problem? This presents me with quite a problem if I can only make one charge for shipping.

 

Anybodies earliest possible input would be appreciated. :-"

Liz

 

A very appreciative member still attempting to climb the steep learning curve!

Link to comment
Share on other sites

Any chance you have a workaround regarding customers not seeing a credit card error messages when getting redirected back to checkout_payment? (recall this began for me post-install of the 2.2RC1 register_globals Compatibility for PHP 4.3+ Servers)

If it is relevent, I have that patch installed AND the server php.ini has register globals on.

 

Brian would you have any advice on where to begin resolving this? It is becoming a problem with lost sales :(

Does anyone else have this behaivor after installing 2.2RC1 register_globals Compatibility for PHP 4.3+ Servers?

-Dave

Link to comment
Share on other sites

Brian would you have any advice on where to begin resolving this? It is becoming a problem with lost sales :(

Does anyone else have this behaivor after installing 2.2RC1 register_globals Compatibility for PHP 4.3+ Servers?

 

Dave,

Make sure that you have applied all the WPP changes to checkout_payment.php.

 

--Glen

Edited by SteveDallas
Link to comment
Share on other sites

I have an interesting problem with my paypal modules right now. A few months back I had to change paypal accounts, request a new API credientials etc. In other words nothing has changed as far as programming goes to my DP and EC modules. Only things that changed were the API Certificate File, API Account Username, API Account Password and Paypal Account Email. So I filled in all those changes in both the DP and EC and saw that my direct payment was working great (which is 95% of my transactions). I just found out the other day that my Express Checkout module is not working and gives me the ole You do not have permissions to make this API call -- ERRORCODE=10002. This makes absolutely no sense to me what so ever since I have exactly the same settings in direct payment and express check out and the direct payment works but express checkout doesn't.

 

Does anybody have an idea if what might be the problem or has any one seen this happen before?

 

thanks,

 

DefelRadar

Link to comment
Share on other sites

@Olly: Unfortunately not. When I had a free weekend, I started working on it only to find that the sandbox was down. I haven't had any time since.

 

@phi148: I'm really not sure about that issue. If the phone number was returned in a format that would cause problems, checkout would fail with a SQL error message. I'll add it to my list of TODO, though.

 

@Measha06: That problem doesn't exist in this module. I would suggest that you either switch modules where we can better support you or continue working through PayPal channels.

 

@Roaddoctor: The problem isn't with RC1 because that's what I use as my testbed, but it is possible that register globals is the problem. I thought they had all the RG bugs had been worked out, but I'll do more rigorous testing. Also make sure that you included all modifications in the checkout_payment.php script like SteveDallas mentioned.

 

@DefelRadar: Strange, haven't heard of that one. Are you sure that you're using this module and not PayPal's version?

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

Ah yep, it's a register globals issue. Try changing this line:

 

$messageStack->add('payment', $paypal_error);

 

to this:

 

$messageStack->add('payment', $_SESSION['paypal_error']);

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

Ah yep, it's a register globals issue. Try changing this line:

 

$messageStack->add('payment', $paypal_error);

 

to this:

 

$messageStack->add('payment', $_SESSION['paypal_error']);

 

Wow Brian - quick response!!

 

Well I made the change, tried some test purchases puposely entering wrong CCv and/or expirations... and no error messages still. arghh. I get redirected back to checkout_payment.php, but no error messages appear.

Then tested using correct CC info, but with bad address info. Same result: redirected without error message. When I look to paypal payment risk search, The AVS decline appears so everythings working perfectly except for the lack or error messages.

 

Any ideas on what to look at next? Thank you for your efforts.

-Dave

Link to comment
Share on other sites


Brian, I do not know if this will help, but I took a look at the session info

The session is when the redirect occurred and I should see an error

 

******************************************************
checkout_payment.php Session
page enter where error should be appearing


Array
(
   [cart] => shoppingcart Object
       (
           [contents] => Array
               (
                   [30] => Array
                       (
                           [qty] => 1
                       )

               )

           [total] => 11.5
           [weight] => 2
           [cartID] => 08394
           [content_type] => physical
       )

   [language] => english
   [languages_id] => 1
   [currency] => USD
   [navigation] => navigationhistory Object
       (
           [path] => Array
               (
                   [0] => Array
                       (
                           

 => index.php
                           [mode] => NONSSL
                           [get] => Array
                               (
                               )

                           [post] => Array
                               (
                               )

                       )

                   [1] => Array
                       (
                           

 => shopping_cart.php
                           [mode] => NONSSL
                           [get] => Array
                               (
                               )

                           [post] => Array
                               (
                               )

                       )

                   [2] => Array
                       (
                           

 => checkout_shipping.php
                           [mode] => SSL
                           [get] => Array
                               (
                               )

                           [post] => Array
                               (
                                   [action] => process
                                   [shipping] => fedex1_90
                                   [comments] => 
                                   [x] => 59
                                   [y] => 6
                               )

                       )

                   [3] => Array
                       (
                           

 => checkout_payment.php
                           [mode] => SSL
                           [get] => Array
                               (
                               )

                           [post] => Array
                               (
                               )

                       )

               )

           [snapshot] => Array
               (
               )

       )

   [sendto] => 179
   [cartID] => 08394
   [shipping] => Array
       (
           [id] => fedex1_90
           [title] => FedEx Ground (Total items: 1 pcs. Total weight: 3 lbs) (Home Delivery (1 days))
           [cost] => 6.14
       )

   [billto] => 2
   [payment] => paypal_wpp
   [customer_id] => 2
   [customer_default_address_id] => 179
   [customer_first_name] => David
   [sppc_customer_group_id] => 0
   [sppc_customer_group_show_tax] => 1
   [sppc_customer_group_tax_exempt] => 0
   [customer_country_id] => 223
   [customer_zone_id] => 57
   [comments] => 
)

-Dave

Link to comment
Share on other sites

Depends on where you placed the code. It needs to go above that line that you changed because immediately after it clears that session variable.

 

I'll really try to work on this when I can. I have three projects in the air at the moment and haven't been able to find the time.

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

Depends on where you placed the code. It needs to go above that line that you changed because immediately after it clears that session variable.

 

I'll really try to work on this when I can. I have three projects in the air at the moment and haven't been able to find the time.

 

I placed it at the top of checkout_payment.php like this

 

 

  require('includes/application_top.php');

//  print_r($_REQUEST);
 echo '<pre>';
 print_r($_SESSION);
 echo '</pre>';

// if the customer is not logged on, redirect them to the login page

 

then ran a transaction with incorrect address and copied the session info here immediately after the redirect.

 

I know your busy. Thanks for the help as possible.

-Dave

Link to comment
Share on other sites

Open /includes/modules/payment/paypal_wpp.php and try changing these two lines:

		$paypal_error = $error_msg;
	if (!tep_session_is_registered('paypal_error')) tep_session_register('paypal_error');

 

to this:

		if (!tep_session_is_registered('paypal_error')) tep_session_register('paypal_error');
	$_SESSION['paypal_error'] = $error_msg;

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

After somewhat less quibbling and trials and errors than the previous "http_client class error" pioneers, I've arrived at the solution to this dilemma; it appears to be quite elementary, yet elusive:

It turns out that this error is returned when there's a problem using curl over SSL. Shared hosting accounts (with GoDaddy at least) require the use of a proxy. Just edit the setup parameters for the WPP module to include a proxy (proxy.shr.secureserver.net:3128 for Godaddy) and you will be able to get past this part.

I wish someone would make the error code more succinct, but anyways...

 

Now about the "merchant configuration errors..." :)

-Neil

 

I just added WPP and setup API credentials (sandbox only so far) and when I tried to pay with Paypal, I get a:

 

Fatal error: Cannot instantiate non-existent class: httpclient in /home/content/n/o/w/nowdesigns/html/storefront/includes/modules/shipping/usps.php on line 224

 

The prior advice I read indicates that the httpclient file might have been deleted, but I verified it's there.

 

Where do I go from here?

 

Thanks in advance for the help.

Store is hidden at:

www.nowdesigns.biz/storefront

 

TRY IT and see...

 

-Neil

Link to comment
Share on other sites

Open /includes/modules/payment/paypal_wpp.php and try changing these two lines:

		$paypal_error = $error_msg;
	if (!tep_session_is_registered('paypal_error')) tep_session_register('paypal_error');

 

to this:

		if (!tep_session_is_registered('paypal_error')) tep_session_register('paypal_error');
	$_SESSION['paypal_error'] = $error_msg;

 

Dang Brian, I thought you had it... but no such luck. I changed the above, but no change in behaivor. still no error msg appearing.

 

I might be off, but I think the root of the evil is somewhere in "register_globals Compatibility for PHP 4.3+ Servers" part of RC1

Their were a lot of files affected.

If it helps, my PHP Version is 4.3.2, MySQL 3.23.58 on Linux 2.4.21-52.EL. The server has reg globals enabled and the RC1 "improvements" hah!

I'm going to keep digging on my end. If you have any further suggestions please feel free... :)

 

Thank you very much.

-Dave

Link to comment
Share on other sites

This is only for debug, but after:

 

$_SESSION['paypal_error'] = $error_msg;

 

add this:

 

die('Error received: ' . $error_msg);

 

That will dump the error, if any, to the screen. This will give me a better idea of where the problem lies.

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

This is only for debug, but after:

 

$_SESSION['paypal_error'] = $error_msg;

 

add this:

 

die('Error received: ' . $error_msg);

 

That will dump the error, if any, to the screen. This will give me a better idea of where the problem lies.

 

using an incorrect address, the reply is on a blank white page:

 

Error received: Your credit card was declined. Please try another card or contact your bank for more info.

 

Filter Decline (10554)

This transaction cannot be processed.

 

 

using an incorrect digit in the credit card, the reply is on a blank white page:

 

 

Error received: The credit card information you entered contains an error. Please check it and try again.

 

The credit card number entered is invalid.

Please check the number and try again.

 

 

Both are the expected messages I would ordinarily see... hmmmmmmm

-Dave

Link to comment
Share on other sites

Interesting, so it looks like that session variable is getting wiped out somewhere. After I'm sure that the fixes I've made to the contribution work in a normal store, I'll install the register globals contrib to see what it's doing that would kill off certain variables.

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

Interesting, so it looks like that session variable is getting wiped out somewhere. After I'm sure that the fixes I've made to the contribution work in a normal store, I'll install the register globals contrib to see what it's doing that would kill off certain variables.

 

Here is the upgrade instructions I followed to install RC1

 

http://www.oscommerce.com/ext/osc22rc1_upgrade.html.zip

 

The html file highlights every little change that was made and should be helpful in determining the root cause

(An upgrade guide for existing osCommerce 2.2 Milestone 2 060817 installations)

 

Hope that helps - Thanks again

-Dave

Link to comment
Share on other sites

Ah, I was thinking that you meant that you had done the RC1 patch PLUS installing the register globals contribution. Very strange, like I said, because I'm currently using RC1 as my testbed and paypal errors show up fine. I'll keep looking into it.

Please use the forums for support! I am happy to help you here, but I am unable to offer free technical support over instant messenger or e-mail.

Link to comment
Share on other sites

Ah, I was thinking that you meant that you had done the RC1 patch PLUS installing the register globals contribution. Very strange, like I said, because I'm currently using RC1 as my testbed and paypal errors show up fine. I'll keep looking into it.

 

Thanks Brian

 

for clarity

 

prior to RC1, I simply had reg globals ON on the server. I have never installed the reg globals contribution.

Currently, RC1 patches are installed (most of it) and the server still has reg globals ON in php.ini

 

I was wondering if I should revert the server setting to reg globals OFF now that "register_globals Compatibility for PHP 4.3+ Servers" part of RC1 is installed

 

my PHP Version is 4.3.2, MySQL 3.23.58 on Linux 2.4.21-52.EL

-Dave

Link to comment
Share on other sites

Im running into the following error, can anyone help me (btw this module is great)?

 

Fatal error: Cannot redeclare class paypal_wpp_base in /homepages/37/d197321923/htdocs/Shops/includes/modules/payment/paypal_wpp/paypal_wpp_base.php on line 16

 

 

Here is the code for the error line:

 

class paypal_wpp_base {

 

var $code, $title, $description, $enabled, $zone;

 

function update_status() {

global $order;

 

if ($this->enabled && ($this->zone > 0)) {

$check_flag = false;

$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . $this->zone . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");

while ($check = tep_db_fetch_array($check_query)) {

if ($check['zone_id'] < 1) {

$check_flag = true;

break;

} elseif ($check['zone_id'] == $order->billing['zone_id']) {

$check_flag = true;

break;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...