Support

Home Forums Event Espresso Premium PAYPAL status INCOMPLETE but actually fully paid

PAYPAL status INCOMPLETE but actually fully paid

Posted: February 24, 2016 at 11:28 am


Michael King

February 24, 2016 at 11:28 am

I registered about 200 people for an event lately – 15 show PENDING PAYMENT/INCOMPLETE. Unfortunately 2 of those people actually paid in PayPal, so they were a little upset when they got to the door and had no seats. One registered on a busy day, the other didn’t & I can’t find any common thread.

Any tips on what went wrong or how to prevent this in the future? I’d hate to think I have to manually crosscheck PayPal vs. EE4…. Coming up on an event that will have 600 people. I don’t find a 1% error rate to be acceptable, frankly.

This is EE4 4.8.29.p on WP 4.4.2 for http://www.ninthdistrictpta.org


Tony

  • Support Staff

February 25, 2016 at 4:55 am

Hi Michael,

If you look within the transaction for those 2 registrations do you see a payment within that? Like this – http://take.ms/XcQbU

If there is a payment there, what is the payment status? The colour of the strip highlighted shows the status but you can hover over the stripe for details.


Michael King

February 25, 2016 at 7:52 am

There is a payment and that bar at the end is orange. Hovering expands it to FAILED. That’s not consistent with the status in PayPal where it’s seen as good.


Tony

  • Support Staff

February 25, 2016 at 8:35 am

What does it show within the gateway response? (If anything at all)

It’s sounding like the IPN from paypal did not reach your site, if you log into your PayPal account then go to:

Account -> Profile and Settings > My Selling Tools > Instant Payment Notifications (click Update)

At the top of the page you’ll see link to the IPN history. Can you find the IPN for that transaction and see what status it has please.

Here’s a directly link to your IPN history you can use if already logged into PayPal (although you may prefer to find it manually from the above, its up to you):

https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history


Michael King

February 25, 2016 at 11:04 am

I found the one on the not-busy day in the PayPal IPN log – says SENT.


Tony

  • Support Staff

February 26, 2016 at 2:25 am

What does it show within the gateway response? (If anything at all)

Be sure to check the transaction that corresponds to the IPN you previously found.


Michael King

March 10, 2016 at 7:57 pm

Had another occurrence of this problem today. Total of three transactions today and less than 100 visits on an uprated DreamPress server, not a $4/month shared server, so I don’t think it’s a problem of being too busy. I’ve now had this problem on two sites. Ideas, other than fixing the failures manually?


Tony

  • Support Staff

March 11, 2016 at 3:24 am

Can I take a look at one of the transactions please?

If so send temporary login details using this form:

https://eventespresso.com/send-login-details/

Please include details on which registration I need to look at for this.


Michael King

March 11, 2016 at 7:12 am

Yes, you can, as soon as I catch another one – that will be better for me than playing 20 questions with you. The error rate is about 1 in 100 so it could take a while, as I’m only averaging about 5 registrations/day right now.

I have manually ‘fixed’ the one I had, so that might not be so interesting now, but if you want to look at it, let me know.


Tony

  • Support Staff

March 11, 2016 at 8:13 am

I could take a look within the current registration (EE keeps payment logs we can check over) although it would be best to view an unaltered registration.

If you’d like for me to check over the current one just send over the details, otherwise we can wait for another.


Michael King

March 14, 2016 at 9:22 pm

Tony,
I sent the info your requested – did you guys ever look into this?


Tony

  • Support Staff

March 15, 2016 at 5:31 am

I have taken a look at the transaction you mentioned, there is no details in logs from any IPN or post back from PayPal (this should happen when the user returns to your site from PayPal)

The only log entry I can find for that transaction is from when EE checks if it has received an IPN.

When you select PayPal as a payment method EE creates the ‘Pending’ payment within the transaction, the Registration Status is Pending Payment and the Transactions status ‘Abandoned’.

When PayPal send the IPN (or the user returns to the site) it updates the Payment within the transaction to Approved, this in turn sets the transaction to ‘Complete’ which also updates the registration to ‘Approved’.

However if the user never returns to the site but the IPN is received we need to know to update the transaction, so EE creates a cron job set for 1 hour after the user selects PayPal. This just checks within the transaction and looks at the payment status, if it is still Pending (meaning no IPN or post info has been received) it sets the transactions to incomplete and triggers the Pending Payment messages. If the payment is Approved is Completes the transaction (which triggers the above)

So… the only function that is currently being ran on those broken transactions is the cron so it looks like the user is not being returned to the site after payment and the IPN is not being received.

Is auto return enabled on your PayPal account? – https://www.paypal.com/uk/cgi-bin/webscr?cmd=p/mer/express_return_summary-outside

If not it would mean the user would need to click the ‘return to xx store’ link on PayPal.

I also looked within your ‘Payment Received’ message within Event Espresso -> Messages.

You currently have both the Event Admin and the Primary Registrant contexts sending to the Primary registrant, meaning they will receive both sets of emails for each payment, is that expected?

You also have an additional email address added to the Primary Registratn context to field, is that an email to yourself? If so that should be used within the Event Admin context in place of the current shortcode.

The IPN triggers the Payment Received message type so I’m looking for any reason that may cause the transaction page to fail, the above may depend on your mailserver.


Michael King

March 15, 2016 at 8:31 am

Thanks – that’s helpful info.

Auto-return – that was not set on the PayPal side, so I have set that to come back to the THANK YOU EE4 page. Is that the intent? I don’t remember seeing any advice during setup about AUTO RETURN – did I miss that somewhere? I also notice there is nothing set for IPN DESTINATION URL – should there be?

Message addresses – that was me trying to diagnose why ALL messages were not getting back to me, which turned out to be a spam trap problem on my side. However, I thought I had un-done all that I had added and I am now COMPLETELY confused by the discussion about “contexts” – I’ll look for some kb material or something.


Tony

  • Support Staff

March 15, 2016 at 9:03 am

Auto-return – that was not set on the PayPal side, so I have set that to come back to the THANK YOU EE4 page. Is that the intent?

Yes, although it doesn’t actually matter what it is set to as EE passes the value dynamically, it just needs to be enabled for that to work.

I don’t remember seeing any advice during setup about AUTO RETURN – did I miss that somewhere?

Strictly speaking it is not required for PayPal to work correctly, although it will provide a much better user experience for your users.

I also notice there is nothing set for IPN DESTINATION URL – should there be?

That’s the same as above, EE passes the ‘notify url’ to PayPal dynamically. You can set that to your /transactions/ page if you want to add a value.

However, I thought I had un-done all that I had added and I am now COMPLETELY confused by the discussion about “contexts” – I’ll look for some kb material or something.

A single message can have multiple ‘contexts’, as in the Registration Approved message that is sent to the Registrant is different from the one sent to the Event Admin. Its still a Registration Approved message, but a different context.

Each is context can be edited independently and has its own purpose by default. The Event Admin context should be used to send the messages to the event admin, Registrant to each Registrant and Primary registrant to only the Primary Registrant.

Take a look here:

https://eventespresso.com/wiki/messages-system-working-with-message-contexts/

Does that help?


Michael King

March 16, 2016 at 4:04 pm

Yes, the last answer did help, so thank you for that. I think I have figured out the message context scheme, and the light gray text vs. the darker text – seems more complex than it needs to be, for me at least.

I thought I had another instance of this error, but this one might be different. The GATEWAY RESPONSE in the transaction says:
“IPN Validation failed! Paypal responded with ‘ Internal Server Error Internal Server Error – Read The server encountered an internal error or misconfiguration and was unable to complete your request. Reference #3.2e6533b8.1458100944.1ca5de78”

The transaction shows as paid in PayPal, so I manually updated the transaction. Different problem, and I should not worry (too much)?


Tony

  • Support Staff

March 17, 2016 at 3:04 am

The transaction shows as paid in PayPal, so I manually updated the transaction. Different problem, and I should not worry (too much)?

That’s a different issue, does it now happen on all PayPal payments?

It could be PayPals servers had a problem at that time and returned error 500, so if it’s a single IPN then it’s a PayPal issue, but if all of your PayPal payments now fail with an IPN validation error we’ll need to investigate further.

Also, have you considered using a different payment provider? Stripe has very similar fees to PayPal, is very easy to setup and works slightly different to PayPal when a user makes a payment.

You could offer both payment methods using the EE4 Stripe Payment Method and PayPal.

I think I have figured out the message context scheme, and the light gray text vs. the darker text – seems more complex than it needs to be, for me at least.

I’m sorry you find it confusing, can you provide any feedback on how you would prefer we displayed the active/inactive contexts? I can pass that feedback along to the developers.


Michael King

March 17, 2016 at 8:32 am

That error looks like a one-time event. There have now been transactions after it that were successful. Let’s assume that’s the case and not worry about it.

I have looked at Stripe – their fees are a little higher than PP right now, there’s $60 to you guys for the add-on, but the big difference is whatever$$$ the cost is for a good SSL cert (we’re using a free one right now just to encrypt comms). My clients are low budget, non-techie, non-profits (my niche market) and they already have PayPal accounts, so I felt the extra cost was unsellable. Now that I know about auto-return, the problem might be manageable.

Thanks for the insights.

On the message contexts question, my intuition points to a matrix with message types on one dimension and recipients on the other, with some indicator in each cell to show which recipient is enabled (and maybe recommended) for each message. I think my confusion stems from an inability to see the ‘whole picture’ in one place. That’s a human brain perception problem, not something that is “wrong” with your current implementation. I’m an engineer too although mostly hardware, but I know we tend to design things to be used by people like ourselves, not the average human. My wife, and working with these non-techie groups over the last 3 years, has really hammered that into me. </end_editorial>

Thanks again.


Lorenzo Orlando Caum

  • Support Staff

March 17, 2016 at 11:50 am

Hi Michael,

Have you considered the Braintree add-on?

They currently have a promotion where they will pay credit and debit card fees until you have received over 50k in payments. Afterwards, then the fees are similar to PayPal and Stripe at 2.9% + .30 per transaction.

This means that your organization will receive a full $50,000 in credit and debit payments for your events.

That savings in not paying credit and debit card feels for a while would definitely cover the cost of an SSL (available from Namecheap starting at about $15/year) and the Braintree add-on.

This offer is available to merchants in the European Union and the United States and you can learn more here:

https://www.braintreepayments.com/faq#free-processing

Another feature is that you can also accept PayPal payments through the same payment gateway add-on. PayPal transactions fees are not covered by the promotion above and this does offer some flexibility for your registrants/attendees.


Lorenzo


Michael King

March 24, 2016 at 5:20 pm

There has not been a repeat of this problem since you tipped me to the auto-return pref in PayPal, so I’m willing to call this one resolved. FWIW, that pref appears to be off by default in PayPal – you’d be doing us a favor if you featured that somewhere in help docs.


Josh

  • Support Staff

March 24, 2016 at 7:27 pm

It turns out we do feature Auto Return in the documentation:

https://eventespresso.com/wiki/paypal-standard-payment-gateway/#enable-auto-return


Michael King

March 24, 2016 at 8:05 pm

Well, you got me there. But that article says “These steps are not required but are recommended” and gives no clue what the unintended consequences of not setting it are. Judging by the number of times I found some version of this problem in the user forums, I’m clearly not the only one to be tripped up on this. And look how far I got into this thread before Tony mentioned auto-return.


Josh

  • Support Staff

March 25, 2016 at 7:57 am

Thanks for the feedback.

The support post ‘PAYPAL status INCOMPLETE but actually fully paid’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso