Jump to content
Sign in to follow this  
dynamoeffects

PayPal WPP Direct Payments & Express Checkout Support

Recommended Posts

@col_b: Set "Cardinal Centinel: Only Accept Chargeback Protected Orders" to true in the module's settings.


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.

Share this post


Link to post
Share on other sites

@col_b: Set "Cardinal Centinel: Only Accept Chargeback Protected Orders" to true in the module's settings.

is this what should be set for all of us?

Share this post


Link to post
Share on other sites

@col_b: Set "Cardinal Centinel: Only Accept Chargeback Protected Orders" to true in the module's settings.

 

Thanks for the quick response.

 

Can you explain a bit more about what will this actually do? I'm just trying to get a handle on the actual process & what's happening.

 

Cheers,

Col

Edited by col_b

Share this post


Link to post
Share on other sites

It was just a thought, it shouldn't have any direct relevance on that specific behavior. If the payment completed, that means that it received a "Success" response but why it wasn't recorded, I'm not sure. Setting "Only Accept Chargeback Protected Orders" to "No" means that cards which are eligible but not enrolled in SecureCode or Verified by Visa are not accepted since they won't be covered by the chargeback protection.

 

I'd need to see the request/response from your DoDirectPayment call.

 

Find this line:

$final_req = $this->wpp_execute_transaction('doDirectPayment', $order_info);

 

and below it add this:

 

tep_mail(STORE_OWNER, 
	STORE_OWNER_EMAIL_ADDRESS, 
	'PayPal DoDirectPayment Transaction', 
	"Request: " . $this->last_data . "\r\n\r\n" . 
	"Response:" . print_r($final_req, true), 
	STORE_OWNER, 
	STORE_OWNER_EMAIL_ADDRESS);

 

Then attempt the exact same transaction you did before with the incorrect address. You'll receive an email containing the details of that transaction that you'll need to clean to remove any sensitive information and then send to me on PM.


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.

Share this post


Link to post
Share on other sites

It was just a thought, it shouldn't have any direct relevance on that specific behavior. If the payment completed, that means that it received a "Success" response but why it wasn't recorded, I'm not sure. Setting "Only Accept Chargeback Protected Orders" to "No" means that cards which are eligible but not enrolled in SecureCode or Verified by Visa are not accepted since they won't be covered by the chargeback protection.

 

I'd need to see the request/response from your DoDirectPayment call.

 

Find this line:

$final_req = $this->wpp_execute_transaction('doDirectPayment', $order_info);

 

and below it add this:

 

tep_mail(STORE_OWNER, 
	STORE_OWNER_EMAIL_ADDRESS, 
	'PayPal DoDirectPayment Transaction', 
	"Request: " . $this->last_data . "\r\n\r\n" . 
	"Response:" . print_r($final_req, true), 
	STORE_OWNER, 
	STORE_OWNER_EMAIL_ADDRESS);

 

Then attempt the exact same transaction you did before with the incorrect address. You'll receive an email containing the details of that transaction that you'll need to clean to remove any sensitive information and then send to me on PM.

 

ok, so i tried the above.

 

Tried it with a Visa transaction, rather than maestro, with the wrong address. This time it went thru though. Email received from paypal confirming transaction, transaction recorded in Paypal, transaction recorded in backend of store.

 

I didn't receive an email after putting the suggested code in. Maybe I put it in the wrong place; I put it in catalog/includes/modules/payment/paypal_wpp at ~line 1591.

 

I now don't have access to the maestro card that failed before, so I can't test it. I wonder then if this is just a maestro issue?

 

On a somewhat separate note, I noted this during the 3D secure process:

 

Undefined index: blank in C:\wamp\www\catalog\includes\paypal_wpp\paypal_wpp_3ds.php on line 2

 

It appeared in the header during 3Dsecure, and then in the main conetent page during the authorisation stage. Refers to this:

 

if ($_GET['blank'] == '1') die('<html></html>');

 

Cheers.

Edited by col_b

Share this post


Link to post
Share on other sites

It's just a warning that it's checking the value of a GET variable that doesn't exist. It doesn't affect the behavior of the module.

 

Are you testing this on the Cardinal Centinel sandbox or on their live server?

Edited by dynamoeffects

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.

Share this post


Link to post
Share on other sites

It's just a warning that it's checking the value of a GET variable that doesn't exist. It doesn't affect the behavior of the module.

 

Are you testing this on the Cardinal Centinel sandbox or on their live server?

 

Testing on live server.

Share this post


Link to post
Share on other sites

Ok in that code I sent you earlier to email you the details of the transaction, change "STORE_OWNER_EMAIL_ADDRESS" to just your email address so that it looks like:

 

tep_mail(STORE_OWNER, 
	'YOUR@EMAILADDRESS.COM', 
	'PayPal DoDirectPayment Transaction', 
	"Request: " . $this->last_data . "\r\n\r\n" . 
	"Response:" . print_r($final_req, true), 
	STORE_OWNER, 
	'YOUR@EMAILADDRESS.COM');

 

If that still doesn't work, your spam filter might be catching it. If so use a mailinator.com address like: colb@mailinator.com and check it by going to www.mailinator.com

 


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.

Share this post


Link to post
Share on other sites

Hi,

 

I'm having trouble figuring this one out, as I keep getting an error after I've installed everything.

The error reads:

 

Fatal error: Call to a member function add_current_page() on a non-object in /home/2/a/agderaudio/www/includes/application_top.php on line 312

 

 

Everything works in the admin area, I've tripple checked that all files are where they'r supposed to be, and made multiple checks on the

inserted code in the various files.

 

I'm about to tear what's left of my hair off in frustration, as I can't seem to figure out where I made a boo-boo...

 

osc v2.2 RC2 with non-standard(own) template

paypal_wpp v 1.1.1

PHP v 5.2.10

MySQL 5.1.44

 

Anny suggestions?

Share this post


Link to post
Share on other sites

Hi All,

 

I am getting a PHP Warning when I perform any of the operations on the orders page (capture, refund, charge). The transactions work even though I get this warning in my error_log.

 

[04-Mar-2010 17:53:34] PHP Warning:  include(): Failed opening '/path_to_html_files/includes/configure.php' for inclusion (include_path='.:/usr/local/lib/php-pear') in /path_to_html_files/admin/includes/paypal_wpp/paypal_wpp_capture.php on line 11

My admin directory is directly in the html folder and not in the catalog folder.

 

This is from paypal_wpp_capture.php. The third line is generating this warning.

 

  chdir('../../');
 include('includes/application_top.php');
 include(DIR_FS_DOCUMENT_ROOT . DIR_WS_INCLUDES . 'configure.php');

 include(DIR_WS_CLASSES . 'order.php');
 include(DIR_WS_INCLUDES . 'paypal_wpp/paypal_wpp_include.php');
 $paypal_wpp = new paypal_wpp_admin;

My question is, does this matter and if so, which directory do I need to point to?

admin/includes/configure.php or catalog/includes/configure.php

 

Thank you for your help.

 

Michael

Edited by mvigil514

Share this post


Link to post
Share on other sites

Hi All,

 

I am getting a PHP Warning when I perform any of the operations on the orders page (capture, refund, charge). The transactions work even though I get this warning in my error_log.

 

[04-Mar-2010 17:53:34] PHP Warning:  include(): Failed opening '/path_to_html_files/includes/configure.php' for inclusion (include_path='.:/usr/local/lib/php-pear') in /path_to_html_files/admin/includes/paypal_wpp/paypal_wpp_capture.php on line 11

My admin directory is directly in the html folder and not in the catalog folder.

 

This is from paypal_wpp_capture.php. The third line is generating this warning.

 

  chdir('../../');
 include('includes/application_top.php');
 include(DIR_FS_DOCUMENT_ROOT . DIR_WS_INCLUDES . 'configure.php');

 include(DIR_WS_CLASSES . 'order.php');
 include(DIR_WS_INCLUDES . 'paypal_wpp/paypal_wpp_include.php');
 $paypal_wpp = new paypal_wpp_admin;

My question is, does this matter and if so, which directory do I need to point to?

admin/includes/configure.php or catalog/includes/configure.php

 

Thank you for your help.

 

Michael

 

It should point to catalog/includes/configure.php. On the admin side, application_top.php will include admin/includes/configure.php. The reason for pulling the shop's configure.php is that there are some items defined only there and not on the admin side.

 

--Glen

Share this post


Link to post
Share on other sites

It should point to catalog/includes/configure.php. On the admin side, application_top.php will include admin/includes/configure.php. The reason for pulling the shop's configure.php is that there are some items defined only there and not on the admin side.

 

--Glen

 

Thanks for the quick response Glen.

Share this post


Link to post
Share on other sites

Hi

 

Just installed this module but getting the following warnings at the top of Admin Modules Payment Page

 

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in XXXXXXXX/catalog/includes/modules/payment/paypal_wpp.php on line 1589

 

Same on line 2166

 

and same on line 2168

 

These same warnings come up on the Payment page as well when I try to go through payment

 

Any ideas what is causing this?

 

Also when I click on the Paypal Express button in the store it says that it cannot find the cert file when it is there in the includes/paypal_wpp/cert/ folder.

 

Any help much appreciated and thank you in advance!

Share this post


Link to post
Share on other sites

Hi

 

Just installed this module but getting the following warnings at the top of Admin Modules Payment Page

 

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in XXXXXXXX/catalog/includes/modules/payment/paypal_wpp.php on line 1589

 

Same on line 2166

 

and same on line 2168

 

These same warnings come up on the Payment page as well when I try to go through payment

 

Any ideas what is causing this?

 

Also when I click on the Paypal Express button in the store it says that it cannot find the cert file when it is there in the includes/paypal_wpp/cert/ folder.

 

Any help much appreciated and thank you in advance!

The error message is being caused by a change in PHP and the way it is installed on your host. My guess is that you are using PHP v5.3.0 or later.

 

Untested fix for the call-time pass-by-reference issue:

On lines 1580, 2166, and 2168, remove the ampersand ('&') preceding $order_info.

On lines 2132, 2174, and 2248, add an ampersand in front of $order_info.

 

For the missing cert file, ensure that the location is set correctly in Admin->Modules->Payment->PayPal WPP. I think the installation process sometimes generates the wrong path. Note that it should be an absolute file system path, not a URL.

 

--Glen

Edited by SteveDallas

Share this post


Link to post
Share on other sites

The error message is being caused by a change in PHP and the way it is installed on your host. My guess is that you are using PHP v5.3.0 or later.

 

Untested fix for the call-time pass-by-reference issue:

On lines 1580, 2166, and 2168, remove the ampersand ('&') preceding $order_info.

On lines 2132, 2174, and 2248, add an ampersand in front of $order_info.

 

For the missing cert file, ensure that the location is set correctly in Admin->Modules->Payment->PayPal WPP. I think the installation process sometimes generates the wrong path. Note that it should be an absolute file system path, not a URL.

 

--Glen

Glen

 

Thanks Very Much!

 

That sorted it out.

 

I was getting the following error at the top of checkout_confirmation.php

 

Warning: Missing argument 4 for cc_validation::validate(), called in XXXXXX/catalog/includes/modules/payment/paypal_wpp.php on line 199 and defined in XXXXXX/catalog/includes/classes/cc_validation.php on line 16

 

If anyone else has been getting this its a simple fix change line 199 in paypal_wpp.php from

$result = $cc_validation->validate($_POST['paypalwpp_cc_number'], $_POST['paypalwpp_cc_expires_month'], $_POST['paypalwpp_cc_expires_year']);

 

to the following:

$result = $cc_validation->validate($_POST['paypalwpp_cc_number'], $_POST['paypalwpp_cc_expires_month'], $_POST['paypalwpp_cc_expires_year'], $_POST['paypalwpp_cc_checkcode']);

 

It seems that it wanted to be passed the CCV2 code in this section but since it wasnt it threw up the error as it was only getting 3 of the 4 variables it wanted.

Or I might be talking garbage ..... lol

 

Hope this helps someone out!

Share this post


Link to post
Share on other sites

OK

 

So it all works in my development folder but when I implement it onto the website which uses totally different webspace for the SSL it all comes undone!

 

First I was getting the 'cannot find cert file' - fixed this in the admin by pointing the module to the secure webspace instead of the normal webspace (it didnt like me pointing it at the absolute path in the standard webspace)

 

Now when I click on the Paypal Express button from the secure webspace I get the following:

 

PayPal WPP installation incomplete! There should be XML files located in /XXXXXX/catalog/includes/wpp_xml/ !

(setExpressCheckout.xml)

 

Its looking for files in the standard webspace instead of the secure webspace.

 

Is there a way to force the module to look for the files on my secure webspace instead of on the standard one?

 

Thanks in advance!

Share this post


Link to post
Share on other sites

OK

 

So it all works in my development folder but when I implement it onto the website which uses totally different webspace for the SSL it all comes undone!

 

First I was getting the 'cannot find cert file' - fixed this in the admin by pointing the module to the secure webspace instead of the normal webspace (it didnt like me pointing it at the absolute path in the standard webspace)

 

Now when I click on the Paypal Express button from the secure webspace I get the following:

 

PayPal WPP installation incomplete! There should be XML files located in /XXXXXX/catalog/includes/wpp_xml/ !

(setExpressCheckout.xml)

 

Its looking for files in the standard webspace instead of the secure webspace.

 

Is there a way to force the module to look for the files on my secure webspace instead of on the standard one?

 

Thanks in advance!

OK this has now been fixed - it was an issue with the configure.php in includes

 

The problem I am getting now is:

 

'unable to use client certificate (no key found or wrong pass phrase?) (Error No. 58)'

 

I am able to go all the way through with the transaction including putting in 3d secure information then when i have entered the 3d secure info this error comes up.

 

Also clicking on the Pay by Paypal button produces this same error message.

 

Thanks

Share this post


Link to post
Share on other sites

I was getting the following error at the top of checkout_confirmation.php

 

Warning: Missing argument 4 for cc_validation::validate(), called in XXXXXX/catalog/includes/modules/payment/paypal_wpp.php on line 199 and defined in XXXXXX/catalog/includes/classes/cc_validation.php on line 16

 

If anyone else has been getting this its a simple fix change line 199 in paypal_wpp.php from

$result = $cc_validation->validate($_POST['paypalwpp_cc_number'], $_POST['paypalwpp_cc_expires_month'], $_POST['paypalwpp_cc_expires_year']);

 

to the following:

$result = $cc_validation->validate($_POST['paypalwpp_cc_number'], $_POST['paypalwpp_cc_expires_month'], $_POST['paypalwpp_cc_expires_year'], $_POST['paypalwpp_cc_checkcode']);

 

It seems that it wanted to be passed the CCV2 code in this section but since it wasnt it threw up the error as it was only getting 3 of the 4 variables it wanted.

Or I might be talking garbage ..... lol

 

Hope this helps someone out!

 

The validate() function in includes/classes/cc_validation.php from osC 2.2RC2a takes only three parameters. Either you are using some other cart derived from osC or you installed a contribution somewhere along the line that modifies cc_validation.php. In either case, it's not a WPP bug, but we're glad that you got it sorted out for your setup. I would be curious as to why it wants the card security code, other than to check that it is either three or four digits.

 

--Glen

Share this post


Link to post
Share on other sites

OK this has now been fixed - it was an issue with the configure.php in includes

 

The problem I am getting now is:

 

'unable to use client certificate (no key found or wrong pass phrase?) (Error No. 58)'

 

I am able to go all the way through with the transaction including putting in 3d secure information then when i have entered the 3d secure info this error comes up.

 

Also clicking on the Pay by Paypal button produces this same error message.

 

Thanks

This is a cURL error. Does your host require that you use a proxy when making SSL requests through cURL? If so, you must fill out the Proxy Address field in the configuration. GoDaddy used to require this, but my understanding is that this is no longer the case. Some hosts block SSL access altogether unless you request that it be enabled. Again, check with your hosting provider to determine the correct way to do this.

 

--Glen

Share this post


Link to post
Share on other sites

This is a cURL error. Does your host require that you use a proxy when making SSL requests through cURL? If so, you must fill out the Proxy Address field in the configuration. GoDaddy used to require this, but my understanding is that this is no longer the case. Some hosts block SSL access altogether unless you request that it be enabled. Again, check with your hosting provider to determine the correct way to do this.

 

--Glen

Hi Glen

 

Just got off the phone to Fasthosts they claim that my proxy address is my secure webspace address .... is this correct or are they making it up?

What should my proxy address look like?

 

Thanks

Share this post


Link to post
Share on other sites

Hi Glen

 

Just got off the phone to Fasthosts they claim that my proxy address is my secure webspace address .... is this correct or are they making it up?

What should my proxy address look like?

 

Thanks

I found an earlier question in the database that said that cURL is enabled by default and they don't use a proxy. Make sure that the field Proxy Address in your WPP configuration is blank.

 

--Glen

Share this post


Link to post
Share on other sites

I found an earlier question in the database that said that cURL is enabled by default and they don't use a proxy. Make sure that the field Proxy Address in your WPP configuration is blank.

 

--Glen

OK

 

when the proxy is blank i get the old error coming up.

 

Could this be something to do with configure.php in includes in the secure section of the website?

 

Code below:

 

define('HTTP_SERVER', 'http://www.XXX.com');
 define('HTTPS_SERVER', 'https://vault1.secured-url.com/XXX'); // secure server
 define('ENABLE_SSL', true);
 define('HTTP_COOKIE_DOMAIN', 'www.XXX.com');
 define('HTTPS_COOKIE_DOMAIN', 'https://vault1.secured-url.com/XXX'); // secure server
 define('HTTP_COOKIE_PATH', '/catalog/');
 define('HTTPS_COOKIE_PATH', '/catalog/');
 define('DIR_WS_HTTP_CATALOG', '/catalog/');
 define('DIR_WS_HTTPS_CATALOG', '/catalog/');
 define('DIR_WS_IMAGES', 'images/');
 define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

 define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');
 define('DIR_FS_CATALOG', '/sslroot/XXX/catalog/');
 define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
 define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

 

I have tried changing the

define('DIR_FS_CATALOG', '/sslroot/XXX/catalog/');

code to the standard website but I get an error

Share this post


Link to post
Share on other sites

OK

 

when the proxy is blank i get the old error coming up.

 

 

Which error was that? Cannot find cert file? That would make sense, because the invalid proxy would come before it looks for the certificate.

 

DIR_FS_CATALOG is almost certainly incorrect. It should be the full path to the catalog as seen by the file system. Since you can access the preferences panel for WPP, it is set correctly in admin/includes/configure.php, so take that value and put it into the shop's includes/configure.php. You should be able to see the correct value at the bottom of the payment module page, under the heading "Module Directory:" Just take everything up to and including '/catalog/'. (Don't add the 'includes/modules/payment/'.)

 

The value for 'API Certificate' should look somewhat like the value you set for DIR_FS_CATALOG, with 'includes/modules/payment/wpp_cert/{name_of_your_certificate_file}' appended to the end.

 

--Glen

Share this post


Link to post
Share on other sites

Which error was that? Cannot find cert file? That would make sense, because the invalid proxy would come before it looks for the certificate.

 

DIR_FS_CATALOG is almost certainly incorrect. It should be the full path to the catalog as seen by the file system. Since you can access the preferences panel for WPP, it is set correctly in admin/includes/configure.php, so take that value and put it into the shop's includes/configure.php. You should be able to see the correct value at the bottom of the payment module page, under the heading "Module Directory:" Just take everything up to and including '/catalog/'. (Don't add the 'includes/modules/payment/'.)

 

The value for 'API Certificate' should look somewhat like the value you set for DIR_FS_CATALOG, with 'includes/modules/payment/wpp_cert/{name_of_your_certificate_file}' appended to the end.

 

--Glen

Glen

 

Have done this and I am now back to the following errors:

 

When I put the API Certificate address in on the config as

/home/fhlinux134/x/XXX.com/user/htdocs/catalog/etc/etc

 

I get the cant find API Certificate error

 

I change it to /sslroot/XXX/catalog/etc/etc (my secure server address) and it manages to find it but then I get this:

 

PayPal WPP installation incomplete! There should be XML files located in /XXXXXX/catalog/includes/wpp_xml/ !

(setExpressCheckout.xml)

 

I have noticed that this is pointing to the wrong folder and isnt the same as the file structure in the download. - setExpressCheckout.xml is in the folder catalog/includes/paypal_wpp/xml/

 

I have tried copying the xml folder into the includes folder (on both secure and standard) and renaming it wpp_xml but it still comes up with the same error.

 

Thanks for your help with this so far much appreciated!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×