Paypal error "The field Shipping Address1 is required"

Posts: 5
Joined: 12/13/2007

I am trying to configure paypal express checkout with sandbox API credentials. When I fill out my information on the ubercart checkout page, select paypal as the payment type, and submit the page I am shown the following error:

"Error message from PayPal:
The field Shipping Address1 is required"

I have filled in all available fields just to test yet the error persists.

Hopefully I just missed something in the config or documentation, but I have searched around and not been able to find a solution.

Any ideas? Thanks.

Posts: 5269
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

Haven't heard of that one before. Sticking out tongue Can you give a little info on your setup and process to make that happen... also, PayPal Express Checkout is enabled on the Livetest. Can you get it to fail there?

Posts: 5
Joined: 12/13/2007

In my payment settings I have "checkout" and "admin" checked next to paypal express checkout. There is no option to select a default gateway here. Under paypal express settings, there is a message saying I need to enable the cart pane and configure the website payments pro settings - which I have done.

I have configured website payment pro settings with the default settings, using API credentials that the paypal sandbox site gave me. I have set sandbox as the api server.

---

Ah .. as writing this I realize that I need to set the credit card gateway to paypal website payments pro. I guess I can remove paypal express checkout all together. This seems to go through with the test credit card numbers provided on paypal's site.

The last problem I am seeing is this error:

Fatal error: Call to undefined function workflow_ng_invoke_event() in /home/.scorn/lawpatriot/lawpatriot.com/modules/ubercart/uc_order/uc_order.module on line 2744

I'll get it when I click to confirm my billing details when checking out. I also got it when I went it to the orders back end and tried to change an order from "pending" to "completed." When I reload the error page, everything seems to go through just fine.

Posts: 5269
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

You need to grab Workflow-ng and enable Workflow-ng and Workflow-ng UI. That will solve your troubles... I don't think we had set the dependencies in the .info files before the Alpha 8 release.

Posts: 73
Joined: 12/10/2007

Yes it does happen on the livetest.
I attached screen shot. Scenario is trying to buy a product that doesn't require a shiiping address like file download.
When you select paypal express you get the error. Must be something simple, like not changing the variable that indicates to paypal that a shipping address isn't needed.

AttachmentSize
livetestubercart.jpg138.04 KB
Posts: 73
Joined: 12/10/2007

Looking into the paypal specs. There is a NOSHIPPING variable you can send in with setexpresscheckout.

So I've modified uc_paypal and made a noshipping variable that can be set in paypal express checkout settings. And the value of the variable is used in function uc_paypal_ec_checkout and function uc_paypal_ec_form_submit

It is not perfect, because when you set NOSHIPPING you pretty much have to have a store that only sells products that are shippable or have a store that doesn't ship any products.

A better solution would be to check if there are shippable products in the checkout cart. And set NOSHIPPING on that.

AttachmentSize
uc_paypal.zip12.22 KB
Posts: 49
Joined: 12/12/2007
Bug Finder

I also am having this issue and will try the modification (we will only have items that don't require shipping).

One more issue is if you disable the shipping panel on the checkout screen, the billing address still has the checkbox for using the shipping address as the billing address. This should go away if you don't have a shipping address.

Posts: 73
Joined: 12/10/2007

About the checkbox for using the shipping address as the billing address are you sure you cleared 'Product and its derivatives are shippable.' for each product.
And checked 'Hide shipping information when possible for carts with no shippable items.' in the checkout settings?

Posts: 5269
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

I fixed the PayPal module to use the appropriate functions to check shippability. It seems to work fine on the Livetest, but I'll let you be the judge. I've attached a zipped version of the module for those just wanting the quick fix.

AttachmentSize
uc_paypal.zip12.12 KB