Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal WPP Direct Payments & Express Checkout Support


dynamoeffects

Recommended Posts

As a possible workaround, please test this out:

 

1) Disable the Cardinal Commerce features in the module.

 

2) Click the "Add Charge" button and charge a card that you know would regularly go to 3D Secure.

 

3) Re-enable Cardinal Commerce features and then let us know if the charge went through successfully.

Good idea! i like this thinking the box stuff lol.

 

Yes, it worked other than for a maestro card which is understandable as they now insist on it being through 3DS.

Link to comment
Share on other sites

Ok in that case I'll re-enable that feature and have it disable the cardinal commerce features and the Maestro card setting. For Maestro cards you'll just need to use the Virtual Terminal.

 

Glen, we're going to need to rethink the RETURN_URL and CANCEL_URL lines because I'm getting new reports that it's not working. I'm hoping that just forcing the SEF URL parameter to false in the tep_href_link() function will fix it.

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.

Link to comment
Share on other sites

A new version of the module has been uploaded with fixes for the issues in the last version. I also added Glen's html encoding fix and the Transaction ID is now clickable and will take you to the transaction detail page at PayPal.

 

@rrchairman: 3D Secure hasn't been tested with STS yet, but try this fix and let us know how it works. Open the /includes/paypal_wpp/paypal_wpp_3ds.php file and find this line:

 

<!-- body_eof //-->

 

Then BELOW it add this code:

<?php
if (is_object($sts)) {
if ($sts->display_template_output) {
$sts->restart_capture ('content');
}
}
?>

 

But more than likely it will need more than that.

 

Hi,

 

I have tried the code above and it does not change the page. Any other ideas?

Link to comment
Share on other sites

For those who were experiencing problems with URL formatting, please try this bleeding edge version and let me know if it resolves the issue:

http://github.com/DynamoEffects/paypal-pro-for-oscommerce/zipball/master

 

Just overwrite your /includes/modules/payment/paypal_wpp.php file with the one in the zip file.

 

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

For STS users trying to integrate 3D secure, I've found a workaround that stops the STS template loading.

 

In 'includes/modules/sts/sts_default.php' around line 42:

 

Replace

if (strstr($scriptbasename, "popup")|| strstr($scriptbasename, "info_shopping_cart"))

 

With

if (strstr($scriptbasename, "popup") || strstr($scriptbasename, "info_shopping_cart") || strstr($scriptbasename, "paypal_wpp_3ds"))

Link to comment
Share on other sites

I've upgraded to the latest version of this module from the oscommerce addons site (4th Feb 2010), and integrated with the Cardinal Centinel, but I'm still having problems with Maestro payments.

 

A customer using a Maestro card will be redirected to the 3D secure page, they enter their details, the message displays saying authentication was successful, but then they are redirected to the payment page saying there was a problem with their payment.

 

According to Paypal the error being returned is 12000: "Transaction is not compliant due to missing or invalid 3D-Secure authentication values".

 

I've been told the request to Paypal is missing the following variables:

<n2:ThreeDSecureRequest>
<n2:MpiVendor3ds>Y</n2:MpiVendor3ds>
<n2:AuthStatus3ds>Y</n2:AuthStatus3ds>
<n2:Cavv>jMKEKlqlJGiJARAbxMDZ5+fnFeg=</n2:Cavv>
<n2:Eci3ds>02</n2:Eci3ds>
<n2:XID>TTVmdlFxbERYVXo5R1hrVUY5bjY=</n2:XID>
</n2:ThreeDSecureRequest>

 

Note that all other card types (Visa, Mastercard, etc.) are using 3D secure with no problems.

 

(p.s. thank you for developing this module!)

Link to comment
Share on other sites

Would it be possible to support this mod within this one?

 

http://www.oscommerce.com/forums/topic/202139-contribution-ccgv-trad/

 

I see there is a section in paypal_wpp.php that makes modifications to support CCGV but it's not currently working for me. The dicount shows up fine in the 'Confirmation' page, however, when I look at PayPal it charges the full amount. It does this for both Express and Direct transactions.

Link to comment
Share on other sites

For those who were experiencing problems with URL formatting, please try this bleeding edge version and let me know if it resolves the issue:

http://github.com/DynamoEffects/paypal-pro-for-oscommerce/zipball/master

 

Just overwrite your /includes/modules/payment/paypal_wpp.php file with the one in the zip file.

Hi, I've just updated the paypal_wpp.php as suggested and turned the SES URL to true and Paypal won't now work. if i can help test other solutiond then please get in touch

 

Thanks

Link to comment
Share on other sites

Hi Brian and Steve,

 

I have the latest version of PayPal WPP installed (uploaded 2/4/10) and everything checks out in the diagnostics, but

when I try testing a purchase with PayPal Express Checkout (the 'check out with PayPal' button below the shopping cart on shopping_cart.php),

I get the error:

 

Fatal error: Call to undefined function htmlentitydecode() in /home/..../public_html/includes/modules/payment/paypal_wpp.php on line 636

 

And that's referring to this piece of code which was being discussed a short time ago:

 

$order_info['PAYPAL_RETURN_URL'] = htmlspecialchars(htmlentitydecode(tep_href_link(basename($_SERVER['SCRIPT_NAME']),'action=express_checkout', 'SSL')));
     $order_info['PAYPAL_CANCEL_URL'] = htmlspecialchars(htmlentitydecode(tep_href_link($redirect_path, $redirect_attr, 'SSL')));

 

 

Should I revert back to code in an earlier version? I'm using php 5.2.11 and have Ultimate SEO Urls 5 enabled. And this problem happens regardless if SecurityPro is enabled or not.

 

Thanks again for your time,

 

Nick

Edited by longhorn1999
Link to comment
Share on other sites

Hi Brian and Steve,

 

I have the latest version of PayPal WPP installed (uploaded 2/4/10) and everything checks out in the diagnostics, but

when I try testing a purchase with PayPal Express Checkout (the 'check out with PayPal' button below the shopping cart on shopping_cart.php),

I get the error:

 

 

Nick,

I corrected the syntax in this post. The correct function is html_entity_decode(), not htmlentitydecode().

 

--Glen

Link to comment
Share on other sites

@webr: Yes, I've personally installed the new version with 3DSecure support on a few client websites and it works fine. You might need to contact Cardinal about enabling Maestro payments for your account because I did have one client that it had been disabled on.

 

@crimble crumble: If the country code that is sent back by PayPal isn't found in the countries table in your database, the payment is denied. The reason is that the way store owners can limit where they ship to is by deleting countries from the database so the module will not allow Express Checkout customers to create accounts if they're not in one of those countries.

 

Check in your admin under Locations / Taxes -> Countries and make sure that your customer's country is there. If it is, edit it and ensure that the country code is correct as well.

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

Has anybody successfully processed a Switch / Maestro payment with 3D secure? I'm still getting 12000: "Transaction is not compliant due to missing or invalid 3D-Secure authentication values" errors.

 

I believe that this issue will occur if you do not replace the file catalog/includes/paypal_wpp/xml/doDirectPayment.xml with the one from v1.0.9. Please check that it is the latest version and let us know if that fixes it.

 

The new file is 3387 bytes; the old one was 3355 bytes.

 

--Glen

Link to comment
Share on other sites

I believe that this issue will occur if you do not replace the file catalog/includes/paypal_wpp/xml/doDirectPayment.xml with the one from v1.0.9. Please check that it is the latest version and let us know if that fixes it.

 

The new file is 3387 bytes; the old one was 3355 bytes.

 

--Glen

 

I installed 1.0.9 today and 3d secure is working fine. The whole thing is working pretty much straight out of the box.

 

I just have one small thing to fix:

 

1) customer doesn't receive confirmation order email

 

if anyone can give me a quick heads up on this then that would be great.

 

Thanks for a great contrib!

Link to comment
Share on other sites

Glen, since your fix is now confirmed to work I'm going to revert the URL escaping portion back to your code and then release a new 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

I am having trouble with credit card orders after I added super download shop add-on. I am not sure if it might be an actual payment issue. I am unable to get any help from the support page for that add-on, and am really stuck. I am hoping since it is payment related, someone on here might understand the issue. It doesn't seem to be related to the download shop add-on files, but I was able to receive credit card orders before I installed the add-on. Upon order confirmation, checkout_process.php comes up with a blank error page with the following:

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'paypal_wpp', '', ' at line 18

 

INSERT INTO orders_status_history_transactions ( `orders_status_history_id`, `transaction_id`, `transaction_type`, `payment_type`, `payment_status`, `transaction_amount`, `module_code`, `transaction_avs`, `transaction_cvv2`, `transaction_msgs` ) VALUES ( 32, '', '', '', '', , 'paypal_wpp', '', '', '' )

 

[TEP STOP]

 

Just before 'paypal_wpp', there is a blank in between commas, where the value of 'transaction_amount' should be. I have no idea where to even find this line 18 of code to be able to even look at it and change it. Can anyone offer any help where I might find this line of code and what should be between the commas? This error has been driving me crazy for weeks. Thanks!

Link to comment
Share on other sites

Two big issues I note right off the bat:

 

1) Why is there no transaction ID? Is the transaction being recorded as successful?

 

2) Check your currency values in the admin. If either of them are zero, that would explain why you have no order total amount.

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

In this particular case the customer was from the united states where I am based and ship most my orders. Apparently the country code returned from PayPal didn't match the one in my database. Perhaps this particular customer had multiple addresses associated with his PayPal account and had the wrong address selected on the PayPal site. I can't think of any other reason this would happen. It has only happened twice in my last 200 transactions.

 

Check the state name in the customer's address book record. If it is the two letter code, and not the full state name, that may be the problem. Most versions prior to v1.0.6 stored the zone code instead of the zone name in the state field of the order table, and Express Checkout customers had their two letter state abbreviation stored in the address book instead of (or in addition to) the zone ID number. This can cause the code I added in v1.0.6 to get confused and return a blank state. (This happened to one or two of my customers and was kind of hard to track down.) I can't remember exactly what the error message was; I thought it was "pick a state" or something like that, not a "we don't ship to your country" error. I have a fix:

 

In catalog/includes/modules/payment/paypal_wpp.php, find this text around line 369:

           } else {
             $this->away_with_you(MODULE_PAYMENT_PAYPAL_DP_TEXT_STATE_ERROR);
           }

Insert this code AFTER the the text above:

         } else {
	    $the_state = $state;

 

I will commit this fix to github later this evening.

 

--Glen

Link to comment
Share on other sites

Well, I ended up figuring my issue out. I got the idea of running wpp_diagnostics.php just for the heck of it. I didn't think this issue was even related, but it found that the old bug in checkout_process wasn't fixed anymore after installing the Super Download Shop Controller. It was due to poor instructions from that add-on using really old files. I fixed the line of code and all is working great now. Thank God for wpp_diagnostics!!

 

Two big issues I note right off the bat:

 

1) Why is there no transaction ID? Is the transaction being recorded as successful?

 

2) Check your currency values in the admin. If either of them are zero, that would explain why you have no order total amount.

Link to comment
Share on other sites

Guys,

 

After installing 1.0.9 the other day I'm doing a load of testing on it in localhost before I even think about letting it loose on a live site.

 

So today I tested a Maestro payment, but deliberately used a different address to the one associated with the card. So the transaction should've failed.

 

3D secure worked fine.

 

The transaction went thru, I landed on checkout_success.php which obviously gave my default text - your order is being processed. There was no 'transaction failed' screen / text. The transaction wasn't recorded in PayPal. The order was recorded in the backend of the store, but with the following details:

 

Transaction Type: AUTHORIZATION

Payment Type: NONE

Payment Status: NONE

AVS Code: Error

CVV2 Code: Error

 

No email came from paypal. So as far as the customer would've been concerned, the order and transaction was successful. But it actually wasn't.

 

So, is there something I'm missing here? Just wondered if anyone had any thoughts.

 

Cheers,

Col

Link to comment
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
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...