Jump to content
Sign in to follow this  
dynamoeffects

PayPal WPP Direct Payments & Express Checkout Support

Recommended Posts

I think I have a solution for the back button. I'll set a session variable that will update when the user completes step1 (completing the paypal process). That way if they click "Back," it'll know that they didn't complete the process and it'll act like they never clicked it in the first place. That'll fix all of the errors you mentioned above.

 

Sorry guys, can't work on it right now though. Gotta work on stuff that pays the bills. I'll try to get the update done by the end of the week.


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
I merged everything into one module for simplicity. Since this module has been created with the sole purpose to be 100% compliant, it wasn't designed with the idea that there will be options to make it uncompliant. Does that make sense?

 

Simplicity in installation, perhaps, but combining two APIs in one implementation is anything but. I believe that compliance was the overarching goal, since lack of it torpedoed several earlier attempts.

 

I'm going to try and replicate that bug, but the back button has been the scourge of web developers since the beginning of time (beginning of time being 1988 or so). One of those error messages you received about the expiry date being incorrect was pretty descriptive. Do you recall what expiry date you entered?

 

OFF TOPIC

The beginning of time should be moved up several years. Tim Berners-Lee wrote the first WWW proposal in 1989, and had a working browser in late 1990. The technology didn't explode onto the scene until after the first alpha version of the NCSA Mosaic was released in April 1993. Back then, everything was static, so the back button wasn't a problem yet. The release of dynamic technologies like JavaScript in 1996 started the issues with things like the back button.

 

My current TODO for 0.3:

-Modification that displays a different payment method on the checkout_confirmation page.

You're welcome to use the few lines I posted earlier to make the payment methods display correctly for both EC and DP. Even better would be some guidelines from the OSC core development team as to what data elements should be required for modules, as each module seems to implement a different set of identification strings. Here's my addition again:

 

In catalog/includes/modules/payment/paypal_wpp.php:
  if (tep_session_is_registered('paypal_ec_token') && tep_session_is_registered('paypal_ec_payer_id') && tep_session_is_registered('paypal_ec_payer_info')) {
  $this->title = MODULE_PAYMENT_PAYPAL_DP_TEXT_EC_TITLE;
  } else {
  $this->title = MODULE_PAYMENT_PAYPAL_DP_TEXT_DP_TITLE;
  }

In catalog/includes/languages/english/modules/payment/paypal_wpp.php:
 define('MODULE_PAYMENT_PAYPAL_DP_TEXT_EC_TITLE', 'PayPal Express Checkout');
 define('MODULE_PAYMENT_PAYPAL_DP_TEXT_DP_TITLE', 'Credit/Debit Card');

 

The only (minor?) issue is that it displays "Credit/Debit Card" as the module name in admin. I have some ideas about that, too.

 

-Option: Display EC button on payment page

As I mentioned in a previous post, displaying PayPal on an even footing with other payment methods is acceptable, so a stub module that calls the WPP module in the EC mode would likely be the best way to implement it. The class constructor could return "disabled" status if the WPP module isn't present. PayPal says you should disable the credit card fields when PayPal is selected, so that could complicate matters.

 

This code snippet should make a hypothetical PayPal EC stub module dependent on the WPP module being present:

if (is_file(DIR_WS_MODULES . 'payment/paypal_wpp.php')) {
  $this->enabled = ((MODULE_PAYMENT_PAYPAL_EC_STATUS == 'True') ? true : false);
  } else {
  $this->enabled = false;
  }

 

Mio Dio, who ever thought a payment module would get so complex!

I'm not surprised, since you are not only combining two payment methods into a single module, you have to do things to conform OSC's checkout model to PayPal's business rules. It's a complex set of issues.

 

I hope I speak for everyone here when I say that we all appreciate the hard work you have done to get this off the ground. I'll do what I can to assist testing and tweaking. I also have some hints for anyone who is implementing this with PWA.

 

--Glen

Share this post


Link to post
Share on other sites
1996 started the issues with things like the back button.

 

You sir, are far nerdier than I. I commend ye.

 

I appreciate the thanks. Just think, one day this contribution might actually be finished! I may be old and dead by then, but there might be a day!


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
I also have some hints for anyone who is implementing this with PWA.

 

--Glen

 

Speaking of PWA....

 

Is this contrib basically coupled with PWA? I know the EC section is basically PWA.....maybe the whole PWA should just be implemented for the DC method too(if it isnt already), or made as an admin selectable option?

Share this post


Link to post
Share on other sites
Speaking of PWA....

 

Is this contrib basically coupled with PWA? I know the EC section is basically PWA.....maybe the whole PWA should just be implemented for the DC method too(if it isnt already), or made as an admin selectable option?

 

EC works pretty much like PWA, but with a different flag to indicate that an account was created by EC. EC skips over checkout_shipping, since PayPal supplies the shipping address from the customer record. It is possible to run both; I have it working in my store, but there are some parts that modify the same code, so it took a little work to get them to play nicely together. A PWA customer is presented with DP as a payment option when he gets to checkout_payment, so there is nothing special about that part of the flow.

 

--Glen

Share this post


Link to post
Share on other sites

so how does it work on your site? When the customer checks out they have the option to create account, login or checkout without account and THEN all the payment methods show.....OR do you still have EC on the page with create account, login, PWA?

Share this post


Link to post
Share on other sites
so how does it work on your site? When the customer checks out they have the option to create account, login or checkout without account and THEN all the payment methods show.....OR do you still have EC on the page with create account, login, PWA?

 

When customer checks out, if he isn't logged in, he sees:

 

1. PayPal Express Checkout

2. Purchase Without Account

3. Log In

4. Create account

 

Login and create work in the usual way, and proceeds to checkout_shipping. PWA collects the address and goes to checkout_shipping. The EC button is presented again, to pick up the case where the user logged in with an empty cart. For any of these methods, if the user didn't click the EC button, the flow continues to checkout_payment, where the DP option is presented, along with PayPal IPN, because there is no other way to put PayPal on the page at this time. I also accept check/money order here, for those who want to mail in their orders.

 

EC goes to PayPal, then to checkout_shipping to select the shipping method, then skips checkout_payment and goes directly to checkout_confirm.

 

It might make a bit more sense if you looked at i. The link is in a prior post.

 

--Glen

Share this post


Link to post
Share on other sites

I am getting this error as well.

 

Your credit card was declined. Please try another card or contact your bank for more info.
The transaction was refused. (10544)

 

I am trying to accept direct payments on my live server with .01 transactions. I tried this twice yesterday. The first time, it declined the card but I my credit card was charged.

 

I then proceeded to close all my browser windows (thinking that perhaps this has to do with a session thing?) and then opened up a fresh new browser (firefox) and retried the transaction. this time, it was successful, my credit card was charged and I did see the order come into the admin/orders.

 

Now, when I tried again today, I getting the first error (says its declined but I'm still charged).

 

One more piece of info. Yesterday, I was using a previously created account when going through the checkout. but, today, i was creating a new user account for each checkout.

 

 

 

 

 

 

 

 

 

Idiot Check-

 

HTTP.php timeout is set at 120.

 

The error coming back with credit cards is a little different now:

 

Your credit card was declined. Please try another card or contact your bank for more info.
The transaction was refused. (10544)

 

Sorry about all the posts, but information continues to trickle in....

 

Tried a different card and got this:

 

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

The expiry date entered for the credit card is invalid.
Please check the date and try again.

 

I tried it a few times and got the same thing. Either all my cards are no good or something is up.

 

Is there an error log for this somewhere?

Share this post


Link to post
Share on other sites

What was happening to me was that PayPal was declining my card because I have a PayPal account. Someone referred to Website Payments Pro as "Mickey Mouse" recently, and at this point I would have to agree. The credit card in question was never associated with my account by me. But a few weeks ago I bought an item through the store using that credit card and my personal email address (on file with PayPal). They must have then associated that credit card number with my account on their end, then started declining it.

 

I can only imagine how fun this will be when real customers start going through this with no good explanation.

 

If PayPal really wants to not have our business that badly, I guess we won't give it to them.


Do, or do not. There is no try.

 

Order Editor 5.0.6 "Ultra Violet" is now available!

For support or to post comments, suggestions, etc, please visit the Order Editor support thread.

Share this post


Link to post
Share on other sites

I've been able to follow the instructions and appear to have everything loaded. The issue I'm having is when I go to check out I click the Check Out With Paypal Button and I get directed to the /catalog/ec_process.php page and it just ends, no error, no viewable source. Did I miss something? Thanks

Share this post


Link to post
Share on other sites

That's a new one, glstudio. Are you sure your certificate is in place and you've upped the timeout variable to 120 or more?

 

Let me look and make sure I didn't accidentally leave a die() in there.

 

What was happening to me was that PayPal was declining my card because I have a PayPal account. Someone referred to Website Payments Pro as "Mickey Mouse" recently, and at this point I would have to agree.

 

As would I. I'd offer paypal as a secondary choice for customers who are very comfortable with them, but for a measely $20 more a month, I prefer a traditional merchant account and gateway. (And I wrote the damn module!)

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
As would I. I'd offer paypal as a secondary choice for customers who are very comfortable with them, but for a measely $20 more a month, I prefer a traditional merchant account and gateway. (And I wrote the damn module!)

 

Cost and convenience were the factors that led me to use the PayPal WPP/DP service. A significant portion of my customer base is outside the US, and the 3.2% discount rate is attractive to me. One authorize.net reseller quoted me a decent rate for domestic transactions, but was up around 5% for international ones. Not to mention all the fees they tack on.

 

Does anyone have a recommendation for a good merchant account provider?

 

--Glen

Share this post


Link to post
Share on other sites

That's a new one, glstudio. Are you sure your certificate is in place and you've upped the timeout variable to 120 or more?

 

Let me look and make sure I didn't accidentally leave a die() in there.

 

It seems to be correct, I downloaded it from paypal, and placed it in the catalog/includes/modules/payment/wpp_cert directory and the configuration inside oscommerce points to it -- thanks,

Share this post


Link to post
Share on other sites

And you installed the pear modules? Is the module enabled?


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

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

 

Direct Payment has been disabled on this account. Transaction has not been processed. (10550)"

 

As far as I can tell, everything is configured correctly, I have the API certificate and username/password set-up in admin.

 

I am getting the message above with a credit card that is definately good to go.

 

Please help!!!!!!!!!!!!

Share this post


Link to post
Share on other sites
" Your credit card was declined. Please try another card or contact your bank for more info.

 

Direct Payment has been disabled on this account. Transaction has not been processed. (10550)"

 

As far as I can tell, everything is configured correctly, I have the API certificate and username/password set-up in admin.

 

I am getting the message above with a credit card that is definately good to go.

 

Please help!!!!!!!!!!!!

 

I would say that you will have to contact PayPal. Their phone number is posted on their website.


Do, or do not. There is no try.

 

Order Editor 5.0.6 "Ultra Violet" is now available!

For support or to post comments, suggestions, etc, please visit the Order Editor support thread.

Share this post


Link to post
Share on other sites
" Your credit card was declined. Please try another card or contact your bank for more info.

 

Direct Payment has been disabled on this account. Transaction has not been processed. (10550)"

 

As far as I can tell, everything is configured correctly, I have the API certificate and username/password set-up in admin.

 

I am getting the message above with a credit card that is definately good to go.

 

Please help!!!!!!!!!!!!

 

I think I got this in the sandbox once when I had to recreate my account. Did you sign up for Website Payments Pro? You can have an API certificate without it. To enroll, click "Merchant Tools" once you are logged in to PayPal. Then click "Website Payments Pro" and find the "Submit application" link on the right side of the page. Complete the application, and your account will be enabled for WPP in about 48 hours.

 

--Glen

Share this post


Link to post
Share on other sites
And you installed the pear modules? Is the module enabled?

 

I re-installed the entire process oscommerce, the new files from the contribution, the updated creat-account file. The pear modules NET_Url, NET_Socket, HTTP_Request and Log were installed, I placed the other pear files in /catalog/pear. Downloaded the cert_key_pem.txt and uploaded the (as is from my download from paypal) file entered the user and password and still the same results on checkout with paypal, /catalog/ec_process.php nothing. I wish I could just get an error at least that would help, however, when I don't have the cert_key_pem.txt in place, I still get the same results. Any ideas or help?

Share this post


Link to post
Share on other sites

I tested version .2 and after placing a fix( As My validation needed CVV ) the code went thru in a very smooth way.

 

Great contribution.Hats of to Brian.

 

 

Satish

 

 

 

 

 

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

 

Direct Payment has been disabled on this account. Transaction has not been processed. (10550)"

 

As far as I can tell, everything is configured correctly, I have the API certificate and username/password set-up in admin.

 

I am getting the message above with a credit card that is definately good to go.

 

Please help!!!!!!!!!!!!

 

I think you need to go to Paypal site login and in website payment preference there is one Payment optional radio button that needs to be set to yes as without that you can not accept cc payment and the message that

Direct Payment has been disabled on this account. Transaction has not been processed. (10550)"

means that.

 

Hope this does for you

Satish

Edited by satish

Ask/Skype for Free osCommerce value addon/SEO suggestion tips for your site.

 

Check My About US For who am I and what My company does.

Share this post


Link to post
Share on other sites

Hah, glad someone's having some success with the module! (w00t)

 

Daren, try copying all of the included pear modules into the /catalog/pear directory and see if that makes a difference.

 

Also, post what PHP's include path is. If you don't know how to do that, create a file called "test.php" and include put this code:

 

<?php $php_info(); ?>

 

Then view the page with your browser and search for "include path" or something similar.

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
I tested version .2 and after placing a fix( As My validation needed CVV ) the code went thru in a very smooth way.

 

Great contribution.Hats of to Brian.

Satish

I think you need to go to Paypal site login and in website payment preference there is one Payment optional radio button that needs to be set to yes as without that you can not accept cc payment and the message that

Direct Payment has been disabled on this account. Transaction has not been processed. (10550)"

means that.

 

Hope this does for you

Satish

 

 

Thanks Satish. When I went into the paypal account I realized that I hadn't accepted the $20.00 per month contract. Now Direct Payment is enabled but I still get the credit card declined error.

 

Is it true that Paypal has issues with direct payments that use a credit card/e-mail that already is attached to a paypal account?

Share this post


Link to post
Share on other sites
Hah, glad someone's having some success with the module! (w00t)

 

Daren, try copying all of the included pear modules into the /catalog/pear directory and see if that makes a difference.

 

Also, post what PHP's include path is. If you don't know how to do that, create a file called "test.php" and include put this code:

 

<?php $php_info(); ?>

 

Then view the page with your browser and search for "include path" or something similar.

 

 

All the pear modules that were downloaded for this are in my catalog/pear directory the includes path is : innclude_path .:/usr/share/pear .:/usr/share/pear - Thanks

Share this post


Link to post
Share on other sites

My payments are finally going through. I had to get a new paypal api cert... for some reason the first one stopped working. New one works fine for now.

 

My latest issue is orders not showing up in the admin console. I can see them in the database but they aren't returned with the SQL that builds the order page. Looks like the orders_total information is not being written to the db. This contrib is the only one I've installed.. anyone else seen this or have any ideas.

 

-bh

Share this post


Link to post
Share on other sites

I just found out my host (pair) just moved to a new version of mysql.... wonder if that could have anything to do with it.

 

None of the orders_total info is getting written for new orders. I'm pretty sure the first order I pushed through (successfully) was before their MySQL migration. I think the last orde that is showing up correctly was done though this contrib.

 

Thoughts?

 

-bh

Share this post


Link to post
Share on other sites

This contrib doesn't push through orders, it simply amends the order record with the transaction ID returned from PayPal.

 

If they've upgraded from 4.0 to 4.1, then yes, there could be some problems. You said they're in the database, but just not showing up on the orders page in Admin? Try overwriting your orders.php in admin with a fresh copy. Perhaps it got munged up somewhere.


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

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  

×