I installed paypal express and setup the apis from paypal into the api configuration. I ran a few test on a live server to test the payments, however, they are not being processed and it's throwing this error: PayPal reported an error: 10419: Express Checkout PayerID is missing.

It takes the user through a complete checkout to enter their address and review page.
Once you click on Submit order while logged in as admin, it displays that error.

If you checkout as an anonymous user, it redirects you to paypal in which i can login with a paypal account and submit payment as normal. It then redirects you back to the site with a confirmation of your order. However, when i go back and log in as an admin, the order is not processed. It captures the customer information and address, but not the payment. I doubled checked both my paypal account and the store paypal account and payment was not received nor sent.

What could be causing this issue?
PayPal reported an error: 10419: Express Checkout PayerID is missing.

Thanks

Comments

frozen10 created an issue. See original summary.

tr’s picture

Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)

We definitely send the PAYERID - you can check the code. Turn on IPN debug in Ubercart to see that this data is in there. Take a look at #2920971-9: An IPN transaction failed verification for this order for an example of what you should see. That post shows a user who got Express Checkout working just a week ago, so I'm pretty sure there's nothing wrong with this part of the code and that it's just your setup. Since PAYERID is stored in the session, if you lose the session by switching from HTTP to HTTPS during the transaction that might be a cause, because a new session is started when this happens and you lose anything in your old session. If you are using mixed-mode http/https then even one image loaded by http when you're on https, for instance, is enough to break the session - test with the unmodified Bartik theme that comes with Drupal to make sure this isn't an issue introduced by your custom theme. Also make sure your site isn't in maintenance mode, because then it won't be able to receive the IPN posted back from PayPal.

frozen10’s picture

Thank you for your response. So I looked at the link you posted as well...and followed all of the steps.

I am taking the site out of maintenance mode to test it so that shouldn't be the the cause, however, I am using https. But when a user goes to the url, it automatically redirects them to the https:// making their whole visit on https and on through checkout so it's not jumping between.

I setup auto return to "on" with my url: https://www.example.com/cart/checkout/complete (changing example.com to my domain)

I made sure that "Instant Payment Notification (IPN)" is checked.

Added my url for the IPN URL is set to https://example.com/uc_paypal/ipn. (with my domain)

Have my creds for the ipn in the ubercart paypal express option config.

I basically followed the directions on that link to verify. I am however, using D8 and those seem to be more for d7 since the WorkFlow-NG module doesn't apply.

So it's still taking an anonymous user through checkout and allows me to login and pay for the order and redirects wiht a confirmation, however, no payment is being processed still.

I checked the logs and see this message still: NVP API request failed with 10419: Express Checkout PayerID is missing.

Is there complete documentation for D8 anywhere. I see a lot of d7 around and have used ubercart a few times in Drupal7, just not with d8.

frozen10’s picture

I just noticed something in the browser. if i type in the domain it redirects to https://www.example.com but after clicking any interior pages the url only shows https://example.com
I wonder if this is causing the problem?

**Update:
I have the urls all https://www.example.com for every page now. I was able to checkout again however, same deal. it creates the user ad order on my site after redirecting back but the payment isnt captured nor processed. No idea what's going on. the urls and ipn are correct.

frozen10’s picture

Since I can't get express checkout to work, I installed the Payments Standard and that works just fine after pulling all of my hair out. I'm scrapping paypal express and just going with standard.

tr’s picture

Category: Bug report » Support request
Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

it automatically redirects them to the https:// making their whole visit on https

Well, no. Not if you have hardwired URLs to get images or JavaScript or CSS from http - that's what I said and that's why I said test with Bartik. MANY times it's the theme's problem if the session breaks.

I just noticed something in the browser. if i type in the domain it redirects to https://www.example.com but after clicking any interior pages the url only shows https://example.com
I wonder if this is causing the problem?

Yes, that could be one of the problems.

It seems you don't have your https set up properly, and if that's the case then you need to fix it, not just switch to WPS to avoid the problem

In fact, you should probably test your site with entirely http first, in Bartik, then when you have it working switch to https, then switch to using your own theme.

Is there complete documentation for D8 anywhere. I see a lot of d7 around and have used ubercart a few times in Drupal7, just not with d8.

Although the code has drastically changed in D8, from the user's perspective things in D8 are almost identical - the D7 documentation should mostly work. The D8 documentation is being copied from the D7 documentation and updated with current images etc. as I have time - although EVERYONE can edit and add to this if there is something wrong or missing. Links to the official D7 and D8 documentation are on the Ubercart project page in the right sidebar in the Documentation block.

I basically followed the directions on that link to verify. I am however, using D8 and those seem to be more for d7 since the WorkFlow-NG module doesn't apply.

What link? Workflow NG is a Drupal 5 (only) module, I would be surprised if any D7-specific documentation mentioned it. In D7 and D8 we use the Rules module to perform the same functions, but you absolutely do NOT need any of that to set up PayPal.

So in summary, I'm pretty sure this is a configuration problem with your site. Especially if WPS works for you, since it's using the same IPN code as Express Checkout.