Jump to content
Sign in to follow this  
dynamoeffects

PayPal WPP Direct Payments & Express Checkout Support

Recommended Posts

I've had 7.3 running for about a year with few problems. Occassionally I would have a double billing issue, but instances were rare. Of late, I've had 3 double submits out of the last 15 or so orders, one of which was a COD order. Other contribs I have running are Featured Product, a calendar script to set a time and date of delivery, VVC, and PriceFormatter (which applies quantity discounts).

 

When double ordering happens, I receive two emails instead of one. The orders each have distinct order numbers & paypal codes. They show up in admin, as well as in my Paypal acct. Checking the time of the orders indicates that the second order is usually placed 25-45 seconds after the first, which makes me think that the order is declined, then placed again, but despite the decline, both orders are going through. That's just a guess at this point. It could also be that server load is causing a long lag and that people are clicking submit multiple times during the lag. Not sure.

 

I searched the forum thoroughly, but it seems everyone else's problems went away once they switched to 7.3, but I've been running 7.3 from the start, so that can't be it.

 

I'm on Godaddy, if that helps, and applied the code modifications in re ports in general.php (I think that was Steve Dallas' fix). Any ideas on tests I can run to determine the cause of this, or a script I can insert to prevent this from happening would be much appreciated. Thanks

 

Rich

Share this post


Link to post
Share on other sites
Do you, Glen or any one else know of a way I can get this up & running?

(I've posted my problems in replies #2317, 2318, 2319 & 2320)

 

I desperately need this thing working. What really gets me about this is the "Paypal Direct Payment" works perfectly. I did double check my checkout_process.php, it appears to be correct, to verify this error, I placed the original checkout_process.php file that came with the 0.9.1 version and I still receive the same error. Is there anything else I can check or do?

 

Can Anybody Help?

 

I really need help with correcting the errors mentioned in my previous post above for using PayPal Express Checkout.

Share this post


Link to post
Share on other sites

@DJ5A: What other contributions do you have installed? Does it happen when any product is ordered? Can you post the specifics of a product that causes this problem?


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
@DJ5A: What other contributions do you have installed? Does it happen when any product is ordered? Can you post the specifics of a product that causes this problem?

Hello:

 

Thank You dynamoeffects for getting back with me...

 

I've installed infoBox Admin v.2.24.zip, basic_design_pack1mk2 & I've edited several things.

 

Yes as far as I know it happens on any product order & only when I use "PayPal Express Checkout". When I'm testing in the sandbox & using "PayPal Direct Payment" everything works like it's suppose to and it does a great job.

 

I'm only having this problem with "PayPal Express Checkout", I make my order then I click on the PayPal Express checkout button, I then log in to PayPal with my Sandbox User Name & Password, then I click on review payment, then I go back to my web sites shopping cart & I click on continue at the Delivery page, then when I click confirm order on the checkout_confirmation.php...

 

I then go to the checkout_shipping.php page & at the top of the page is my errors...

An error occured when we tried to process your credit card.

Error #1: Transaction refused because of an invalid argument. See additional error messages for details. (10413)
The totals of the cart item amounts do not match order amounts.

Error #2: Transaction cannot complete. (10417)
The transaction cannot complete successfully. Instruct the customer to use an alternative payment method.

 

Thank you for taking the time to offer to help me.

Share this post


Link to post
Share on other sites

Open /catalog/includes/modules/payment/paypal_wpp.php and find these lines:

		//Now, replace all of the placeholders with real data
	foreach ($data as $k => $v) {
	  $xml_contents = str_replace($k, $v, $xml_contents);
	}

 

 

and add this below them:

		if ($type == 'doExpressCheckout') {
	  die($xml_contents);
	}

 

Then do a checkout that you know will fail, and when it sends you to the checkout_process.php page, it will stop and dump a bunch of text to the screen. Copy and paste that text here (take out usernames/passwords, etc).


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
Then do a checkout that you know will fail, and when it sends you to the checkout_process.php page, it will stop and dump a bunch of text to the screen. Copy and paste that text here (take out usernames/passwords, etc).

 

OK, here's what I received...

 

  <?xml version="1.0" encoding="utf-8" ?> 
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Header>
- <RequesterCredentials xmlns="urn:ebay:api:PayPalAPI">
- <Credentials xmlns="urn:ebay:apis:eBLBaseComponents">
 <Username>XXXXX</Username> 
 <Password>XXXXX</Password> 
 </Credentials>
 </RequesterCredentials>
 </soap:Header>
- <soap:Body>
- <DoExpressCheckoutPaymentReq xmlns="urn:ebay:api:PayPalAPI">
- <DoExpressCheckoutPaymentRequest>
 <Version xmlns="urn:ebay:apis:eBLBaseComponents">2.0</Version> 
- <DoExpressCheckoutPaymentRequestDetails xmlns="urn:ebay:apis:eBLBaseComponents">
 <PaymentAction>Sale</PaymentAction> 
 <Token>EC-7GS88XXXXX340921G</Token> 
 <PayerID>36MXXXXXPX84Y</PayerID> 
- <PaymentDetails>
 <OrderTotal currencyID="USD">39.00</OrderTotal> 
 <OrderDescription>Order placed on May 14, 2007, 10:14 am by Jerry XXXXXX (ID: 3)</OrderDescription> 
 <ItemTotal currencyID="USD">31.5</ItemTotal> 
 <ShippingTotal currencyID="USD">7.5</ShippingTotal> 
 <HandlingTotal currencyID="USD" /> 
 <TaxTotal currencyID="USD">0</TaxTotal> 
 <Custom>Phone: -- Email: XXXXXXXXXXX@XXXX.com</Custom> 
- <ShipToAddress>
 <Name>Jerry XXXXXX</Name> 
 <Street1>7104 Stonemill drive</Street1> 
 <Street2 /> 
 <CityName>XXXXXXX</CityName> 
 <StateOrProvince>XX</StateOrProvince> 
 <PostalCode>XXXXX</PostalCode> 
 <Country>US</Country> 
 </ShipToAddress>
- <PaymentDetailsItem>
 <Name>PN002 Length 21mm Taper .06 blue Size 5 Tip Diameter .279mm</Name> 
 <Amount currencyID="USD">10.50</Amount> 
 <Number>2 (PN002)</Number> 
 <Quantity>2</Quantity> 
 </PaymentDetailsItem>
- <PaymentDetailsItem>
 <Name>PN001 Length 21mm Taper .04 blue Size 5 Tip Diameter .279mm</Name> 
 <Amount currencyID="USD">10.50</Amount> 
 <Number>1 (PN001)</Number> 
 <Quantity>1</Quantity> 
 </PaymentDetailsItem>
- <PaymentDetailsItem>
 <Name>Order Total Discrepancy</Name> 
 <Amount currencyID="USD">10.50</Amount> 
 <Number>NA</Number> 
 <Quantity>1</Quantity> 
 </PaymentDetailsItem>
 </PaymentDetails>
 </DoExpressCheckoutPaymentRequestDetails>
 </DoExpressCheckoutPaymentRequest>
 </DoExpressCheckoutPaymentReq>
 </soap:Body>
 </soap:Envelope>

 

dynamoeffects I really appreciate all you efforts for helping me with this!!!! :)

Edited by DJ5A

Share this post


Link to post
Share on other sites
Hello:

 

Thank You dynamoeffects for getting back with me...

 

I've installed infoBox Admin v.2.24.zip, basic_design_pack1mk2 & I've edited several things.

 

Yes as far as I know it happens on any product order & only when I use "PayPal Express Checkout". When I'm testing in the sandbox & using "PayPal Direct Payment" everything works like it's suppose to and it does a great job.

 

I'm only having this problem with "PayPal Express Checkout", I make my order then I click on the PayPal Express checkout button, I then log in to PayPal with my Sandbox User Name & Password, then I click on review payment, then I go back to my web sites shopping cart & I click on continue at the Delivery page, then when I click confirm order on the checkout_confirmation.php...

 

I then go to the checkout_shipping.php page & at the top of the page is my errors...

An error occured when we tried to process your credit card.

Error #1: Transaction refused because of an invalid argument. See additional error messages for details. (10413)
The totals of the cart item amounts do not match order amounts.

Error #2: Transaction cannot complete. (10417)
The transaction cannot complete successfully. Instruct the customer to use an alternative payment method.

 

Thank you for taking the time to offer to help me.

 

Error #1 *should* be just a warning (it is on the live server), and is related to a bug that I discovered and reported to Brian a couple of days ago. The fix will be available when Brian posts it. The bug appears when you order more than one of a product. Try ordering one part and see what happens.

 

The PayPal Sandbox doesn't always behave the way one would expect. For the most part, it is useless in testing error code, as it accepts many things that would cause errors on the live server. One part of testing in the Sandbox with EC is that you must create (at least) two Sandbox accounts; one for your store, and a second one to be a customer, since you can't send money to yourself, even in the Sandbox.

 

--Glen

Share this post


Link to post
Share on other sites

@DJ5A: Does it also happen when you just order 1 of something? I think you're getting hit by a bug that Glen sent me a fix for the other day. In /catalog/includes/modules/payment/paypal_wpp.php, change these lines:

 

$total += number_format(round($o['final_price'] * $currency_value, 2), 2, '.', '');
$totals .= number_format(round($o['final_price'] * $currency_value, 2), 2, '.', '') . "\n";

 

to this:

 

$total += number_format(round($o['final_price'] * $currency_value, 2) * $o['qty'], 2, '.', '');
$totals .= number_format(round($o['final_price'] * $currency_value, 2) * $o['qty'], 2, '.', '') . "\n";


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

Don't believe what anyone says, this isn't a double post.

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
Error #1 *should* be just a warning (it is on the live server), and is related to a bug that I discovered and reported to Brian a couple of days ago. The fix will be available when Brian posts it. The bug appears when you order more than one of a product. Try ordering one part and see what happens.

 

The PayPal Sandbox doesn't always behave the way one would expect. For the most part, it is useless in testing error code, as it accepts many things that would cause errors on the live server. One part of testing in the Sandbox with EC is that you must create (at least) two Sandbox accounts; one for your store, and a second one to be a customer, since you can't send money to yourself, even in the Sandbox.

 

--Glen

 

Hello Glen:

 

When I order 1 item I get this error...

An error occured when we tried to process your credit card.

 

Transaction cannot complete. (10417)

The transaction cannot complete successfully. Instruct the customer to use an alternative payment method.

 

I do have a business account & this above is a seperate regular user account. Is there something wrong with my regular user? This user is registered, verified & has $500 in his account?

 

PS: Brian...

I will change the code you reccomended & get back with you soon.

PPS: I know that wasn't a double post, because the words in it are different... :D

Share this post


Link to post
Share on other sites

Wait, are you still in the Sandbox? If so, 10417 is a very common error in the sandbox. That is, I've seen in the past that people get 10417 in the sandbox, but once they go live, the error dissappears.

 

Go live, set Payment Action to "Authorization" and test it that way (if you're not already).


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
Wait, are you still in the Sandbox? If so, 10417 is a very common error in the sandbox. That is, I've seen in the past that people get 10417 in the sandbox, but once they go live, the error dissappears.

 

Go live, set Payment Action to "Authorization" and test it that way (if you're not already).

 

Hello dynamoeffects & Glen:

 

I appreciate your efforts, please bare with me on these questions?

 

1. Don't I need to change my API cert, PW & UN before I go live?

 

2. For some reason my regular sandbox user profile is saying that Currently, you have not set up any Billing Agreements. I've tried everything I know of & it will not change?

 

3. Since I don't get this error anymore when ordering 1 product...

Error #1: Transaction refused because of an invalid argument. See additional error messages for details. (10413)The totals of the cart item amounts do not match order amounts.

 

Shouldn't I change that code you reccomended above for Error #1?

 

LOL, I'm boderline confused? :'( I eagerly await your reply!!!!!

Share this post


Link to post
Share on other sites
Hello dynamoeffects & Glen:

 

I appreciate your efforts, please bare with me on these questions?

 

3. Since I don't get this error anymore when ordering 1 product...

Error #1: Transaction refused because of an invalid argument. See additional error messages for details. (10413)The totals of the cart item amounts do not match order amounts.

 

Hello dynamoeffects & Glen:

 

I changed the code recommended above in reply Post #2333 & no errors what so ever!!!!

 

YEEEEHA! I'm almost there...

 

Thank You dynamoeffects & Glen so much for helping me with this!

 

PS: I think all I need now is a check box for the user to agree to the terms and conditions?

Do you think this "Terms And Conditions Agreement" Contribution located here...

http://www.oscommerce.com/community/contributions,219

will work OK?

Share this post


Link to post
Share on other sites
@showery: Contact your host's support staff and give them that error. If they aren't willing to recompile curl, you're going to have to move servers, unfortunately.

 

Dynamoeeffects;

 

Thats cool should not be too complicated, I own the server and run it from my home office. So, I will re-compile my cURL with SSL supported this time. I was not aware I had it off last time so the error threw me off. Good thing about owning my server is I have complete control and don't have to ask support people to do any thing for me. :) Any way THANK you very much for your reply hope I can get this thing going.

 

I am wondering, right now I am using the CC module where they just add the cc info and it sends it to me in the admin screen. Now my question on this is can we add a spot for the code off the back of the card. I don't run transactions without that security code and right now my store don't ask for it??

 

Thanks

 

Steve

DFW Products

Share this post


Link to post
Share on other sites

Hi lads

Just got this great contrib working in record time but have found it generates the order email in the standard text format rather than using the email_invoice module i have (fancy invoice).

 

any idea where to look to force it to use this module? cheers

Edited by Sanity

Share this post


Link to post
Share on other sites

:( I installed the module, but I don't see the "paypal direct payment" module in my admin. What could cause this? I have my admin going through an SSL, but it points to the proper file. I've been trying to figure this out for two days. I'm about to lose my hair, please help.

Share this post


Link to post
Share on other sites
:( I installed the module, but I don't see the "paypal direct payment" module in my admin. What could cause this? I have my admin going through an SSL, but it points to the proper file. I've been trying to figure this out for two days. I'm about to lose my hair, please help.

Do you have multiple copies of your store loaded on your website? The module itself should be loaded at [catalog_root]/includes/modules/payment/paypal_wpp.php

 

--Glen

Share this post


Link to post
Share on other sites

Hey guys... I had been using this contrib without any problems for quite some time then a few days ago I moved my site to a new domain. Everything was backed up, DB restored, config files edited up with the new domain name.

 

Long story short, doing this has put the brakes on my paypal processing. I can't figure it out, but i'm getting:

 

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

 

No response from PayPal

No response was received from PayPal. Please contact the store owner for assistance."

 

This is after I asked for a new API and re-uploaded a new key because I thought there was a problem coming from the wrong domain, but I can't get the user name to reset to the correct domain anyways.

 

I'm calling their tech support tommorow to see, but I was hoping to maybe get some info from here as well.

 

Perhaps the new key hasn't been activated to truely live? I tried a few different cards and got the same thing for all.

 

Thanks in advance,

 

Pete

Share this post


Link to post
Share on other sites

Pete,

Make sure that you have updated the pathname API Certificate in the config for this module. It may be pointing to the directory on the old server.

 

Also, run the diagnostic script that comes with recent versions of this module. It may point to another issue, if my first suggestion doesn't fix it. The line "No response from PayPal" seems to indicate that there is a communication issue. The diagnostic should pinpoint the problem.

 

--Glen

 

Hey guys... I had been using this contrib without any problems for quite some time then a few days ago I moved my site to a new domain. Everything was backed up, DB restored, config files edited up with the new domain name.

 

Long story short, doing this has put the brakes on my paypal processing. I can't figure it out, but i'm getting:

 

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

 

No response from PayPal

No response was received from PayPal. Please contact the store owner for assistance."

 

This is after I asked for a new API and re-uploaded a new key because I thought there was a problem coming from the wrong domain, but I can't get the user name to reset to the correct domain anyways.

 

I'm calling their tech support tommorow to see, but I was hoping to maybe get some info from here as well.

 

Perhaps the new key hasn't been activated to truely live? I tried a few different cards and got the same thing for all.

 

Thanks in advance,

 

Pete

Share this post


Link to post
Share on other sites

I will run that script tonight. I think you are right it is a communication problem, because my USPS shipping API deal won't work either.

 

I checked and rechecked the path to the key cert, it doesn't have the domain name in it, rather it is just /catalog/yada/yadayada....

 

Maybe I should take another look at the config file maybe I missed something in there.

Share this post


Link to post
Share on other sites

OK, I ran the diagnostic script and it just told me I need SSL. I don't have ssl and this had been working fine for ages prior. So I guess thats really no help :(

Share this post


Link to post
Share on other sites

If you don't have an SSL, this module will not work because PayPal will not respond to a non-SSL URL. You must have had a shared SSL certificate setup at the last host. You'll either need to use your host's shared certificate, if there's one, or purchase one. You should not be even running an online store without one.


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
If you don't have an SSL, this module will not work because PayPal will not respond to a non-SSL URL. You must have had a shared SSL certificate setup at the last host. You'll either need to use your host's shared certificate, if there's one, or purchase one. You should not be even running an online store without one.

 

I reinstalled the module with the latest version, now I get "Couldn't resolve host 'api.paypal.com' (Error No. 6)".

 

On the SSL thing, its funny, its always just worked? I'm on yahoo, I didn't change host I just changed domain, still hosted under yahoo. I've been meaning to get setup for SSL, just a little intimidated by it, not to mention changing a store over is even worse then setting it up from the beginning.

 

-Pete

Share this post


Link to post
Share on other sites

Hello and help! :sweating:

I have installed the WPP module and the diagnostic gives says yes on all the files being correctly installed, but ends there. I don't get the congratulations text.

I have tested out the checkout with the express pay button and the credit card option and both take a very long time to eventually ask me what firefox should do to open ec_process.php or checkout_process.php files and downloads empty files to my local machine.

I haven't much experience with php or oscommerce for that matter and I would really appreciate any help you can offer.

Thanks in advance!

Share this post


Link to post
Share on other sites
This is the support thread for the PayPal Direct Payments & Express Checkout module. Please post any bugs or errors you see while using it so that they can be fixed.

 

The contribution can be found here:

http://www.oscommerce.com/community/contributions,3647

 

Hi dynamoeffects, thanks for all the great work, it's a great contribution and works great.

 

There is still something I can't figure out though. I am in Canada and tax is GST 6% for all provinces and additonal PST for Ontario. So when somebody from Ontario making order, the total Tax should be GST+PST. I have already configured in tax/zone so it's working properly for payment other then paypal express checkout. However when using paypal express checkout, only GST is showing up and PST not added. It seems to me the problem is in processing the ec token paypal returned but I can't figure out how to solve it. Is there anything you can suggest?

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  

×