75 replies [Last post]
pritishjacob@drupal.org's picture
Joined: 01/19/2009
Juice: 4
2.x vs 1.x documentation and tying it all together

Ubercart 2.x documentation seems to lack these very useful details - http://www.ubercart.org/docs/user/8457/payment_settings - so can we update them?

and tying the docs together seem like a good idea, i.e.

add a link from http://www.ubercart.org/paypal
to the configuration documentation area within 2.x http://www.ubercart.org/docs/user/8457/payment_settings?

Drupal 6 note for these instructions - Workflow-ng is gone in favor of the Rules module, this affects the documentation.

ragavendra_bn's picture
Joined: 01/10/2009
Juice: 68
Paypal currency conversion

Hi all,
I have put up a fashion jewelery site http://fashionjewelery.co.in The site's visitors are from India. I use D6 and Ubercart 2.0-beta2. One issue which is currently being encountered is the currency (Indian Rupee INR) is not supported by Paypal.

As a result of which, the same price value of the product is passed as USD to Paypal.

Could any one help me to resolve this issue.

Alternatives could be
1) May be all the back end be in USD and the GUI display in INR.
2) Display both INR and USD for all products.

May be the second can help a lot Smiling

Thanks in advance..............

Ryan's picture
Joined: 08/07/2007
Juice: 15476
Re: Paypal currency conversion

Perhaps you can enter product prices in USD but use the Multi-Currency Support contribution on this site to display prices to customers in INR. Puzzled

ragavendra_bn's picture
Joined: 01/10/2009
Juice: 68
Nice idea Ryan

I aperciate your help Ryan. Waiting for the multicurrency D6 module Eye-wink

ragavendra_bn's picture
Joined: 01/10/2009
Juice: 68
Hi Ryan, Now the

Hi Ryan,
Now the MultiCurrency D6 is availaible.

The display currency is the one which is being sent to paypal.

eg. If my store currency is USD and multicurrency's default is INR, then the INR value is sent to paypal.........

Maybe a module clone of http://drupal.org/project/txn_currency for Ubercart can help. TXN currency is for only eCommerce now

honigferd's picture
Joined: 09/30/2009
Juice: 7
Checkout workflow


is there a way to have the user added to drupal and the confirmation E-Mail to the customer sent out *before* he's being forwarded to PayPal?

At the moment this happens as soon as the payment is done and the user is being forwarded back to the store and that just doesn't work because a large number of customers don't wait long enough/click the link to get back to the store even though they have paid and the payment has actually been added to the order correctly, but there is no correct customer ID for, no mail sent to the customer and no mail sent to the admin.

How to get around this? For us we don't necessarily need the payment to be complete to send the mails, add the customers since everything will be checked manually anyway.

Is there actually a way in Ubercart for the admin to trigger the process (user added, customer & admin mail sent thing) manually?

Thanks a lot,

iomatic's picture
Joined: 11/05/2009
Juice: 6
Re: Checkout workflow

This guide needs to be updated; workflow-ng is no longer applicable in the newest Ubercart.

Anyway, I asked in another thread: how do you get the item and description passed to PayPal so the seller gets that info in the PayPal Notification?


nickbits's picture
Joined: 04/15/2009
Juice: 205
Re: Re: Checkout workflow

Hi Excellent thread. I am having the same issues as a lot here, that is using Ubercart 2 I cannot get WPS to work accepting CC without the suer signing up for a paypal account. The paypal account has the "Optional" bit set for account required but nothing.

Various comments here, 13, 38, 47, do not appear to work. Is there any documentation for Ubercart 2?


django66's picture
Joined: 03/02/2010
Juice: 48
paypal and ubercart

Hopefully this thread is still live ...

I've read all the posts, and I have ubercart basically functioning with the paypal sandbox, but it's far from setup correctly. Here are my current questions that I hope someone can help me with:

1. How do I set up an integrated new user registration form/ubercart checkout? I've followed all the setup advice at the beginning of this thread, but it doesn't appear to register a user or ask for a UN/PW.

2. I'm using a local installation of Drupal on MAMP. Will this work for testing or am I wasting my time trying to work on a local copy? I am getting emails to work, but it doesn't seem to accept localhost as a return url.

3. It seems that many people above are testing with a live paypal account instead of the sandbox. Is this typical and should I not bother with the sandbox?

4. When I do checkout and go to the paypal site, the option for using a credit card is not there. It seems to default to a paypal account. I definitely want to have both as options. What needs to be set to process CCs directly without logging into paypal accounts?


sailorfred2's picture
Joined: 03/16/2010
Juice: 8
Paypal shows billing address as shipping address. :-/

I have a Drupal 5 setup for a florist friend of mine at: http://davinoflorist.com/ .

When customers have a different shipping address vs. billing address, the Ubercart review page shows these correctly, but the PayPal review page shows a shipping address which should be the billing address. Many customers freak out and don't complete the transaction. At least some call the store, but an unknown number don't do that either.

A quick look at the code indicates that if the product is shippable and there's a delivery_first_name, it should be appending shipping info to the PayPal request.

That doesn't seem to be working, though.

Any clues?

ergophobe's picture
Joined: 06/21/2010
Juice: 135
Re: Paypal shows billing address as shipping address. :-/

Sadly, this is an either/or thing determined by your settings in


You can't send both shipping and billing addresses to Paypal. All you can do is send the billing address and ask Paypal to prompt for the shipping address.

Unfortunately, the way this is set up in Ubercart + Website Payments Pro leads to a terrible user experience. Let's assume you've set Ubercart to send the Billing Address to Paypal. Since the credit card is likely to get declined if the Billing Address is incorrect, then you probably have to do this.

The user enters both in the checkout form in Ubercart and assumes that it's all good. Then when they get to Paypal, they have right billing address and they choose Continue. Unless they look closely, though, the billing address will be carried over and used as the shipping address and they have to select Change in Paypal.

Of course, the best way to improve this would be for Paypal to accept two addresses, but if you want that, you'll need Website Payments Pro.

It seems to me the next best thing would be to set up Ubercart to NOT ask for the Shipping Address at all if the only payment method is WPS. You can set this simply enough at

/admin/store/settings/checkout/edit/panes (uncheck the Delivery Information pane)

Then you could add a note in your theme saying "You will be able to enter a different address for shipping on the Paypal site". Personally, I think that absolutely sucks, but until Paypal changes the API, that's the best Ubercart can do.

Personally, I think I simply need to switch to WPP and all that entails.

murm's picture
Joined: 07/23/2010
Juice: 10
Re: Updated Paypal Website Payments Standard configuration guide

I've used this guide, without success. But after many hours of testing, I found the right way to do this.

It's important that you enable IPN with this kind of url: http://yoursite.com/uc_paypal/ipn

Tried it twice, and it worked on both sites. So I guess you have to do that.

I haven't got it to return the Transaction ID to Ubercart without that enabled.

m0rf's picture
Joined: 05/25/2011
Juice: 3
That actually worked!

Thanks murm - after several very scary hours we found your comment.

Context: UC 2.4 on Drupal 6

Testing on paypal sandbox with WPS worked successfully with IPN *off*.

After migrating to live, this configuration did *not* work. After following #62 above, it did!

Thanks again

buysnakewine's picture
Joined: 03/31/2009
Juice: 105
Re: Updated Paypal Website Payments Standard configuration guide

Better paypal landing page with better shown credit card payment


do you know if there is now a way for customers who wants to pay with credit cards to see a page where the proposal to pay with a credit card through paypal but WITHOUT opening a Paypal account ?


amaria's picture
Joined: 04/04/2008
Juice: 80
PayPal Billing/Shipping Address

Since PayPal only allows us to send over one address with WPS, I opted for the shipping address. This way, if the shipping and billing address is different, they will be forced to change the billing address on the PayPal payment screen. I included a note in the billing address template letting user's know as much.

The problem is, if the order has no shippable items, Ubercart sends nothing.

I made a change to the core module payment/uc_paypal/uc_paypal.module to fix this. At around line 866 in the uc_paypal_wps_form function I changed this...

$address = variable_get('uc_paypal_wps_address_selection', 'billing');


$address = !uc_order_is_shippable($order) ? 'billing' : variable_get('uc_paypal_wps_address_selection', 'billing');

This forces the billing address information to be sent if there are no shippable items.

liquidcms's picture
Joined: 09/13/2010
Juice: 31
any update for D6

Any chance of getting this updated for D6?

Specifically there is no workflow-ng module anymore. And in Rules there is no predefined rules for UC. Does this mean this step is no longer required?

Also, i guess it is safe to say that none of this is testable on a development box (i.e. not accessible on the net)? I wonder if a cool add on module might be to have a PayPal test module which fakes an IPN being received.

Great help finding this doc. Thanks.

liquidcms's picture
Joined: 09/13/2010
Juice: 31
seems to work

Went through all this for D6 setup with nothing done with Rules and seems to work fine.

Also, used hook_order to do some post processing after payment received. Since i couldn't test paypal on dev machine i used to the fake CC payment gateway to test out my hook_order code.

Thanks again for this guide.. very helpful.

shinz83's picture
Joined: 07/28/2010
Juice: 56
Turning PayPal On/Off per Product

Is it possible to make PayPal payment options available on some products and not others?

I am using Ubercart Products for event registrations and it's working great. However, certain events must be check-only payments, and with some events it doesn't matter.

Can PayPal be switched off for some products?

Dalma's picture
Joined: 07/18/2010
Juice: 19
Re: Updated Paypal Website Payments Standard configuration guide

So if I understand correctly for UC 2 on D6 we can ignore the workflow-ng step completely?

Rohit _Saxena (not verified)
Rohit _Saxena's picture
Currency Converter | Currency Conversion | Currency Exchange | D

Currency Converter : Currency Converter is used in different countries. There is different currencies and a currency is often unique in this country. International trade and have worked in overseas currency conversion necessary. Conversion of currency is the currency of a country in a different form may be used i.e dollars to pounds with currency exchange . Often the foreign exchange play vital role to make the service of process, or travel to another country. There is different currencies and a currency is often unique in this country. International trade and have worked in overseas currency conversion necessary. Conversion of currency is the currency of a country in a different form may be used i.e dollars to pounds with currency exchange . Often the foreign exchange play vital role to make the service of process, or travel to another country.

jnk63's picture
Joined: 07/08/2011
Juice: 6
Updated Document

Does anyone have a configuration guide that incorporates all of the good points here? WPS, UC2.4, D6 complete configuration guide?

cj-a-min's picture
Joined: 11/29/2011
Juice: 9
Tested with Sandbox

Paypal will NOT, I repeat will NOT auto return you back to http://www.yourdomain.com/cart/checkout/complete, if customer doesn't have paypal and opts to pay with Visa, Mastercard, Discover, Amex.

Per PayPal:
People that pay with a credit card, via PayPal account optional, are given the opportunity to open an account. If they do not, they must click on the Return to Merchant button to return to your site. You have control of the text of that button. By including the 'cbt' variable you can customize the text on the button as shown below:

<input type="hidden" name="cbt" value="Click here to return to Merchant site">

Where do you put this code? I would rewrite, it like so:
<input type="hidden" name="cbt" value="You Must Click Here to Complete the Order.">

Any ideas?

cj-a-min's picture
Joined: 11/29/2011
Juice: 9
Re: Tested with Sandbox

I added the code but it didn't work.

At /modules/ubercart/uc_cart.pages.inc at line 234 under the $form['continue'], I added a new one:

  $form['cbt'] = array(
    '#type' => 'hidden',
    '#value' => t('CUSTOM MESSAGE'),

And according a Drupal Core Patch to remove the ID, from hidden elements http://drupal.org/node/168722. Which I agree why have IDs for hidden elements, which can't be styled anyways! I removed the ID, edit-cbt to follow PayPal's requirement. In includes/form.inc I applied patch, changed:

function theme_hidden($element) {
  return '<input type="hidden" name="'. $element['#name'] .'" id="'. $element['#id'] .'" value="'. check_plain($element['#value']) ."\" ". drupal_attributes($element['#attributes']) ." />\n";

To This:

function theme_hidden($element) {
  return '<input type="hidden" name="'. $element['#name'] .'" value="'. check_plain($element['#value']) ."\" ". drupal_attributes($element['#attributes']) ." />\n";

So now the code is nice and clean and ready for PayPal:

<input type="hidden" name="cbt" value="CUSTOM MESSAGE">

But it doesn't work, refreshed cache, etc. still doesn't work. PayPal continues to say, Return to Merchant Store.

Any Ideas? It works great with one of my Magento stores using their API, but doesn't work for Ubercart? $%^@!&&*

I don't mind making changes to Ubercart Core or Drupal 6 Core being that the next upgrade will be new rewrite with Drupal 7. But I really need the help here, if anyone can chime in.

steveneill's picture
Joined: 12/11/2008
Juice: 3
Here's how I did it...
* Change redirect so we can inject new PayPal parameters.
function MY_MODULE_uc_payment_method_alter(&$methods) {
  $methods['paypal_wps']['redirect'] = '_my_module_uc_paypal_wps_form';

* Inject new PayPal parameters.
function _my_module_uc_paypal_wps_form($form, &$form_state, $order) {
  $form = uc_paypal_wps_form($form, $form_state, $order);

  // change text on PP complete button
  $form['cbt'] = array(
    '#type' => 'hidden',
    '#value' => t("MY ALTERNATE MESSAGE")

  return $form;

Hope this works for you.



smittysrv's picture
Joined: 02/16/2012
Juice: 8
Re: Updated Paypal Website Payments Standard configuration guide

I don't see the following when going to the enable part:

'Click the "Enable" checkbox for WPS.'