Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal WPP Direct Payments & Express Checkout Support


dynamoeffects

Recommended Posts

I would like to streamline my checkout process as much as possible and I am using Paypal Website Payments Standard.

 

 

So I am wondering, does this contribution support Website Payments Standard?

 

 

Also, can I eliminate the account creation process all together? I just don't see the point to create an account on my site, when I will have their email and order on my Paypal biz account. That is all I really need.

 

 

I am very interested in using Paypal so that I can do automatic USPS shipping labels with postage and everything.

 

 

Thanks very much for your help!

Link to comment
Share on other sites

I have a basic question. I have already installed the PayPal IPN module that I found in contributions but I like the documentation for this module better. Seems to have a better how to config and such. Will I have a problem installing WPP if I have the other PayPal IPN installed already? Can I just uninstall the PayPal IPN in the admin section and then just use this one?

 

Also, is WPP and PayPal IPN work the same, I can use WPP for customer checkout with PayPal correct?

 

Thanks,

 

Scott C.

Link to comment
Share on other sites

@Tilapia Film: You could use IPN along with this, but it wouldn't make much sense. Express Checkout replaces that functionality much more reliably. To eliminate account creation althogether, install the PWA contribution.

 

@scarlson: You could use IPN along with this, but it wouldn't make much sense. Express Checkout replaces that functionality much more reliably. You are aware that this is a $30/month service, correct?

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

@scarlson: You could use IPN along with this, but it wouldn't make much sense. Express Checkout replaces that functionality much more reliably. You are aware that this is a $30/month service, correct?

 

No, I was not aware that this costs 30 a month. I didn't even see that in the documentation unless I overlooked it thinking that all contributions were free to use.

 

Not sure what I am going to use now. I need something so I can use PayPal for checkout.

 

Thanks for the info

 

Scott

Link to comment
Share on other sites

The contributions found here, including this one, are free to use. PayPal's Website Payments Pro service, on the other hand, is not. Your free PayPal options are IPN and Express Checkout.

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

The contributions found here, including this one, are free to use. PayPal's Website Payments Pro service, on the other hand, is not. Your free PayPal options are IPN and Express Checkout.

 

Thanks for the info on this. So how does Express Check Work and is that a separate contribution? I also noticed that OScommerce already has a PayPal module already for you to install but when you go to edit it there is nothing for SSL and such. Does this already built in module work fine?

 

Thanks again, you have been a great help.

 

Scott

Link to comment
Share on other sites

Thanks for the info on this. So how does Express Check Work and is that a separate contribution? I also noticed that OScommerce already has a PayPal module already for you to install but when you go to edit it there is nothing for SSL and such. Does this already built in module work fine?

 

Thanks again, you have been a great help.

 

Scott

 

I found the Express Paypal IPN. This is what I am wanting. Quick question: I have installed other IPN stuff that I don't need. Should I wipe out everything and start from scratch or just install this one and go on from here? I haven't figured out how to do backups yet, need to do that.

Link to comment
Share on other sites

I have a small problem and just looking for direction on where to start

 

I installed all of the osc2.2rc1 fixes and improvements over the weekend and all seems well except for two behaivors (so far) that have now begun.

 

1. If a credit card is declined by paypal for whatever (any) reason, customers have always seen an error message of some sort at the top of the (redirected to) checkout_payment page

 

Now, no error messages appear for a declined card. The customer is just redirected to checkout payment... Any idea?

 

2. a seperate issue I noticed (if it helps and is likely related) is I use login page ala amazon, and normal behaivor is for the customer to enter an email address on login.php, and then when they continue they go to the create account page where (normally) their email address (already typed in once) carries forward to create_account. this stopped working.

 

I am guessin this may a session within SSL issue, but have no clue really. There were lots of changes in the rc1 package.

 

Any advice or a point in the right direction is appreciated.

-Dave

Link to comment
Share on other sites

Hi Brian,

 

I am trying to blank out all but the last 4 numbers of the credit card and blank out the entire CVV number. I want to do this throughout my store. For example, when someone views the order confirmation page or their history, it's all blank. When I view an invoice in the Admin area, it's all blanked out except the last 4. And of course, I don't want any raw numbers stored in the database.

 

I tried to fix this myself, but I noticed there are several places where this would need to be changed. I'm guaranteed to mess this up if I try by myself. Would you please write some instructions or a patch for this?

 

My store works great and I don't want to mess it up by changing the wrong lines of code.

 

Many thanks for such a great contribution. In just over a year, I'm fast approaching $200K in sales and I'm loving it. I just wish that was all profit.

 

Many thanks,

Sticky Pod

Anyone can buy a camera... it's what you do with it that counts!

Sticky Pod

www.stickypod.com

Link to comment
Share on other sites

Hello,

I am using paypal pro for the first time. I have generated the username,password. Also, I copied all the necessary paypal PHP files. However, when I click on "PayPal checkout", I get an error. I believe error is happening in paypal_init() function which is in modules\payment\paypal_wpp.php file. I think getCallerServices() function is failing. Can anyone tell me what is the reason????

Thanks for your help.

Link to comment
Share on other sites

Hi Brian,

 

First off, thanks for supporting this module!

 

I've been using another PayPal WPP module for a couple years and finally got around to upgrading it. I'm glad you're actively supporting this one. I've just spent 2 days testing out v0.9.2 and I have a bunch of feedback. I hope this isn't too much at once, but there are some bugs I've found that seem worth mentioning. Some I've fixed myself, but I'm still stuck on a few things. Since I've had another PayPal module installed, and tons of other contributions to deal with, it's entirely possible that it's all just my site. But in case it helps you and others, here's the details.

 

So far, using direct payment works just fine. Express Checkout also works as long as I keep it simple.

 

1) If I have Express Checkout: Display Payment Page set to true, and I start a new express checkout by clicking on the PayPal button from the shopping cart page, it goes to PayPal and then back to my site on the Payment Page, skipping the shipping page. If the user doesn't already have an account, it'll even leave the shipping info blank. To fix it for now, I removed the check for MODULE_PAYMENT_PAYPAL_DP_DISPLAY_PAYMENT_PAGE in paypal_wpp.php:away_with_you():

	  //Decide where to redirect them
  if (tep_session_is_registered('customer_first_name') && tep_session_is_registered('customer_id')) {
	// MSP removed || MODULE_PAYMENT_PAYPAL_DP_DISPLAY_PAYMENT_PAGE == 'Yes'
	if ($goto_page == FILENAME_CHECKOUT_PAYMENT) {
	  $redirect_path = FILENAME_CHECKOUT_PAYMENT;
	} else {
	  $redirect_path = FILENAME_CHECKOUT_SHIPPING;
	}
  } else {
	$navigation->set_snapshot(FILENAME_CHECKOUT_SHIPPING);
	$redirect_path = FILENAME_LOGIN;
  }

I'm not sure what the code was intended to do. Obviously if I've configured it to skip the payment page, then it should skip it, but this doesn't seem to do that and ends up skipping the shipping page instead. I tried changing the || to an && and it worked great for Express Checkout, but I assume it would cause problems for Direct Payment if I ever turned off MODULE_PAYMENT_PAYPAL_DP_DISPLAY_PAYMENT_PAGE. I imagine the code should really check if you're in the middle of an express checkout first before applying that logic. Even then, I don't know why it would go back to the shipping page instead of going forward to the confirmation page.

 

2) If I start an express checkout and go to PayPal's site and select a shipping address that has a different name than the name on the account, the name is lost when I get back to the osC site. I see in the code that you're actually copying payer_firstname and payer_lastname into the $order->delivery['name'] instead of using ship_name from PayPal, but even if I change that it still doesn't matter; presumably because the order doesn't get written to the database at that point or it's getting overwritten by the default address. Later on, when creating the addressbook entry, you also copy in the payer_firstname and payer_lastname instead of the ship_name. Changing that didn't help for me either. Not sure why. I could try changing the actual customer name instead of just the address book name, but that seems wrong. Not sure what I'm missing.

 

3) If I start an express checkout, go to PayPal, select one address, go back to osC, then hit edit on the shipping address on the confirmation page to go back to PayPal, and then I select another address, when I get back to the checkout_shipping page, it will show the new address, but when I get to the confirmation page, the address snaps back to the original address. This will also happen if I'm using an email address for an existing user on the system. e.g. if there's a default address for the user already, the confirmation page will use that address regardless of what I select on PayPal. Furthermore, if the address doesn't match an address PayPal has, I'll get an error checking out. I've tried it with Express Checkout: Address Override set to Yes and No and it doesn't make a difference. Makes sense since that is only passed during step1 and not after during the actual express checkout.

 

4) I like that you tried to make the module change the text whether it's doing DP or EC, but it didn't quite fit my needs. Currently, you only change the text in the comments that are included with the order, but the screen and the email that gets sent out still uses the module name. Ideally, I don't want my customers knowing anything about me using PayPal for DP behind the scenes, or that I'm using PayPal Express Checkout rather than just PayPal. Therefore I set my text fields to be just "Credit Card" and "PayPal" and in the paypal_wpp constructor, I do the same thing others have suggested:

		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_EC_TEXT_TITLE;		
	} else {
	  $this->title = MODULE_PAYMENT_PAYPAL_DP_TEXT_TITLE;
	}

I actually prefer to add a third title for the admin side so you can still see a reasonable name when looking at all the modules. I know I figured out how to do that once before, but I can't seem to find it right now. Perha[s just check the current URL to see if it's got "module.php" in it. Anyway, by making the change to the title, I get a reasonable Payment Method for the confirmation screen and emails rather than making code changes in checkout_confirmation.php and checkout_process.php. Of course it could go either way. I just want the change to be pervasive. I like to go one step further and include the actual credit card type in the emails as well since it's kind of dumb to just say Credit Card as the payment type. I think customers think in terms of Visa, Mastercard, etc. and it can help remind them which card they used in case they have different kinds. So in checkout_process.php I changed:

  if (is_object($$payment)) {
$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . 
				EMAIL_SEPARATOR . "\n";
$payment_class = $$payment;
$email_order .= $payment_class->title . "\n\n";
if ($payment_class->email_footer) { 
  $email_order .= $payment_class->email_footer . "\n\n";
}
 }

to

  if (is_object($$payment)) {
$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . 
				EMAIL_SEPARATOR . "\n";
$payment_class = $$payment;
// MSP Change to add credit card type
$email_order .= $payment_class->title;
if($order->info['cc_type']) {
  $email_order .= ' (' . $order->info['cc_type'] . ")";
}
$email_order .= "\n\n";
if ($payment_class->email_footer) { 
  $email_order .= $payment_class->email_footer . "\n\n";
}
 }

Now the email my customers and our administrator sees ends with:

 

Payment Method

------------------------------------------------------

Credit Card (Visa)

 

or

 

Payment Method

------------------------------------------------------

PayPal

 

5) I've added two more variables to the configuration so I can turn off the PayPal EC button from shopping_cart and checkout_shipping. Since I give them a chance to use PayPal on the login screen, I figure I don't need to overdo it with offering it in two other places as well. I still might keep it on the checkout_payment page though, just in case they change their mind. But putting it in 4 places was just overkill.

 

6) As you've noticed already, the PayPal EC logo has changed so it doesn't have a transparent background, and they also added text that makes for a lot of redundant wording with your defaults. I ended up making a new image that ripped out all the words under the button and of course made the background transparent. I'd be happy to post it if necessary.

 

OK, I think that's it for now. I'm looking forward to going live with this. I'm almost tempted to just turn off the EC part and go live with the DP part...

 

Mark

Link to comment
Share on other sites

Hi Brian,

 

I am trying to blank out all but the last 4 numbers of the credit card and blank out the entire CVV number. I want to do this throughout my store. For example, when someone views the order confirmation page or their history, it's all blank. When I view an invoice in the Admin area, it's all blanked out except the last 4. And of course, I don't want any raw numbers stored in the database.

 

I tried to fix this myself, but I noticed there are several places where this would need to be changed. I'm guaranteed to mess this up if I try by myself. Would you please write some instructions or a patch for this?

 

My store works great and I don't want to mess it up by changing the wrong lines of code.

 

Many thanks for such a great contribution. In just over a year, I'm fast approaching $200K in sales and I'm loving it. I just wish that was all profit.

 

Many thanks,

Sticky Pod

Hi Brian,

I think I figured it out. I made changes to catalog/includes/modules/payment/paypal_wpp.php and I changed this line for after the order from:

		$order->info['cc_number'] = substr($cc_number, 0, 4) . str_repeat('X', (strlen($cc_number) - 8)) . substr($cc_number, -4);

to this:

		$order->info['cc_number'] = substr($cc_number, 0, 0) . str_repeat('X', (strlen($cc_number) -4)) . substr($cc_number, -4);

 

I also wanted the "Order Confirmation" page to reflect these changes so I changed this:

MODULE_PAYMENT_PAYPAL_DP_TEXT_CREDIT_CARD_NUMBER,
												  'field' => substr($HTTP_POST_VARS['paypalwpp_cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['paypalwpp_cc_number']) - 8)) . substr($HTTP_POST_VARS['paypalwpp_cc_number'], -4)),

 

to this:

MODULE_PAYMENT_PAYPAL_DP_TEXT_CREDIT_CARD_NUMBER,
												  'field' => substr($HTTP_POST_VARS['paypalwpp_cc_number'], 0, 0) . str_repeat('X', (strlen($HTTP_POST_VARS['paypalwpp_cc_number']) -4)) . substr($HTTP_POST_VARS['paypalwpp_cc_number'], -4)),

 

Then I added this capability to the check number (CVV) by changing this:

MODULE_PAYMENT_PAYPAL_DP_TEXT_CREDIT_CARD_CHECKNUMBER,'field' => $HTTP_POST_VARS['paypalwpp_cc_checkcode']);

 

to this:

MODULE_PAYMENT_PAYPAL_DP_TEXT_CREDIT_CARD_CHECKNUMBER,
										'field' => substr($HTTP_POST_VARS['paypalwpp_cc_checkcode'], 0, 0) . str_repeat('X', (strlen($HTTP_POST_VARS['paypalwpp_cc_checkcode']) -0)) . substr($HTTP_POST_VARS['paypalwpp_cc_checkcode'], -1));

 

I ran about 10 live transactions using my credit card and it worked just the way I wanted every time. The mod to the checknumber will only show the last digit of the checknumber.

 

If you see any problems with my mods, please let me know.

 

Keywords: hide credit card number, cc number

 

Thank you,

Tom

Edited by stickypod

Anyone can buy a camera... it's what you do with it that counts!

Sticky Pod

www.stickypod.com

Link to comment
Share on other sites

Hi I am experiencing a strange error after having installed the PayPal Pro module all of a sudden which I did not have after installment (havent changed anything though) at the PayPal button:

 

TEXT_PAYPALWPP_EC_BUTTON_TEXT

 

and

 

TEXT_PAYPALWPP_EC_HEADER

 

Any know what I should modify and which file I should do it in?

 

On another note I want to ask in generel about peoples experience with Paypal as I myself am waiting their socalled Expanded Use Enrollment for 5 days now mail answer still pending after 4 days....phone is impossible to get through. I guess I will need my Expanded Use Enrollment to get hold of an API Certificate number to implement in OsCommerce PayPal Pro module?

 

Cheers all

 

Dets

Link to comment
Share on other sites

Hi All,

 

I have the same problem that Andy has. Did anyone find a solution to this problem?

 

Thanks,

-Tim

I searched for a solution to this problem for 3 weeks and in the end didnt find the solution, so ive had to inform my customer that he cant run both the paypal wpp and the gift voucher system together, so can have one or the other! not what i wanted to do ideally, but nothing i can do about it.

Link to comment
Share on other sites

@Roaddoctor: 1) What version of the module are you using? If you're using the latest version, tell me step by step how you're checking out because this is not a known bug. 2) The only modification this contribution makes to create_account.php is a section *after* the form has been submitted. I can't see how it would be causing the problem you described above.

 

@crownbrown: You're using PayPal's version of the module and will need to contact them for support.

 

@Wi-Gear:

1) MODULE_PAYMENT_PAYPAL_DP_DISPLAY_PAYMENT_PAGE is a define that specifies if the payment page should be displayed during checkout. osCommerce will skip over the shipping page if your products don't have a weight assigned. Otherwise I've never heard of this behavior and would need to know more to duplicate it.

 

2) I'll take a look at it.

 

3) That's a possible bug. I'll check it out.

 

4) You can also try modifying the language defines in the module's language file.

 

5) The button was added to the shopping cart page because PayPal was telling merchants to add it or get their service suspended. The reason the button's on the shipping page is because if a customer is already logged in, they'll never see the button on the login page so you're back in the red with PayPal.

 

6) The next version of the module will allow you to specify the location of the Express Checkout image.

 

 

@dets03ab: Upload the included catalog/includes/languages/english/modules/payment/paypal_wpp.php file to your website.

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

@Roaddoctor: 1) What version of the module are you using? If you're using the latest version, tell me step by step how you're checking out because this is not a known bug. 2) The only modification this contribution makes to create_account.php is a section *after* the form has been submitted. I can't see how it would be causing the problem you described above.

 

Yo! good to see your back from a rest :)

 

I am using version paypal_wpp_0.9.1 us only

 

After applying all of the 2.2RC1 patches, I developed those two problems. I have solved the issue with the email address no longer passing from login to create account. The culprit is/was the RC1 Register Globals patch. The detailed steps I took and fix is here:

http://www.oscommerce.com/forums/index.php?showtopic=277278

 

I am not positive that the fix is a correct one, but it worked. Any comment is appreciated if their is a better way.

 

As far as credit card decline error messages no longer appearing on my site in your contribution, I still have the problem. The customer is redirected back to the payment page propely, but the decline error messages no longer appear. I tested again just now. I would guess its probably related to the same evil register global patch?? not sure at all. I had another poster make the suggestion to turn off the "Output W3C valid URLs (parameter string)?" in ultimate seo but I have not tested that.

 

Thanks for the feedback!

-Dave

Link to comment
Share on other sites

Yeah, that does sound like a Register Global issue. I thought all of those bugs were worked out, but I guess not. I'll add it to my TODO.

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

Seem to be a gettin a few different kinds of errors today:

 

The

In function: ec_step1()

 

and a

 

---------------------------------------------------------------------
---------------------------------TS_REQ------------------------------
--------Results of the transaction search if it was executed---------
---------------------------------------------------------------------
Array
(
[Security] => 
[RequesterCredentials] => Array
	(
		[0] => Array
			(
				[Credentials] => Array
					(
						[0] => Array
							(
								[Username] => xxxxxxxxxxxxxxxxxxxxxk
								[Password] => xxxxxxxxxxxxxxx

					)

			)

	)

[faultcode] => SOAP-ENV:Server
[faultstring] => Internal error
[detail] => Timeout processing request
)

 

 

Should I be concerened about these and is there anything I can do to prevent them?

 

Thanks

Link to comment
Share on other sites

Hi guys. I desperately need some help to finnish my catalog. Since I just learned that PayPal Pro only is for UK and US citizens I now need some help to implement the socalled Buy buttons. I have these questions:

 

1) Can the customer log in fill up his cart on my site and when they go to the "Delivery Information site" I insert a Paypal button which summarizes the cart content and they pay on pay pal?

 

2) If yes to 1) How do I implement this buttons in the OsCommerce, which files should I modify and what should I modify?

 

3) If no to 1) should I then implement a PayPal "Buy now" button for each of my products and which files do I modyfy and how? Do I then have to get rid of the log in process of the OsCommerce or what do I do?

 

Looking very mch forward for your answer

 

Kind regards

 

Dets

Link to comment
Share on other sites

I am looking to make a couple of alterations to the layout without messing it up.

 

i am also looking to change the title name to direct payment

i want to move the location of express checkout link to a different page

i am struggling to alter the text size on the input fields without altering the font size to the text on every page is there a way to give its own css style

 

any help is appreciated many hours have been spent searching with no joy or without butchering script.

Link to comment
Share on other sites

Seem to be a gettin a few different kinds of errors today:

 

The

In function: ec_step1()

 

and a

 

---------------------------------------------------------------------
---------------------------------TS_REQ------------------------------
--------Results of the transaction search if it was executed---------
---------------------------------------------------------------------
Array
(
[Security] => 
[RequesterCredentials] => Array
	(
		[0] => Array
			(
				[Credentials] => Array
					(
						[0] => Array
							(
								[Username] => xxxxxxxxxxxxxxxxxxxxxk
								[Password] => xxxxxxxxxxxxxxx

					)

			)

	)

[faultcode] => SOAP-ENV:Server
[faultstring] => Internal error
[detail] => Timeout processing request
)

Should I be concerened about these and is there anything I can do to prevent them?

 

Thanks

Do I need to install PayPal IPN? Any help is highly appreciated as I am totally lost atm since I can not use the Pay Pal Pro......

Link to comment
Share on other sites

i just wanted to let you know dynamoeffects that the paypal buttons (the updated ones) are back to being transparent instead of having a white background. paypal has updated it themselves so if you did have that planned as something to do, you can cross it off the list for the next version! cheers, and i can't wait for the next update.

Link to comment
Share on other sites

I am certain there must be some fault somewhere I am getting a lot of errors but can't seem to recreate them.

 

 

A lot seems to say regarding the issue number.

 

looking at the dumps - I may have found the fails - some switch cards do not have an issue number but rely on the start date alone. Could it be they are failing on these types of cards?

 

Looking at the 2 dumps I see today it would appear they have not put in an issue number but have put in a start date. These cards either have an issue number or a start date - not both?

 

Thanks a lot

Link to comment
Share on other sites

Sorry to keep posting but in edition to the above I really want to stop showing the customers the word paypal in the account_history_info.php file and I now realise it also show the customer the AVS codes as well which I really do not want them to see.

 

i'd like to remove this if possible without causing damage elsewhere.

 

Thanks

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...