XF 1.4 User upgrade log showing errors

Mr Lucky

Well-known member
I have quite a few of these:

Screen Shot 2015-02-02 at 10.32.36.webp

Code:
Action: Error: Invalid item (custom)
User: Unknown Account
Only log entries that involve a successful payment will be attached to a user and user upgrade.
Upgrade: Unknown Upgrade
Date:Tuesday at 5:40 PM
Transaction ID:147985198L2810247
Details
mc_gross    6.00
protection_eligibility    Eligible
address_status    confirmed
payer_id    5QPXZF6BNQQ9E
tax    0.00
address_street    Tumble Down Whybornes Chase

Can anyone help please? What is causing this?

Is there a way to delete just the errors?

Thanks
 
Are you using PayPal for other things? It's likely that the other things are being sent via IPN and thus being logged. If this is the case, you can change your IPN URL to PayPal to point to a basic valid URL; it doesn't have to be the XF URL as we specify an IPN URL already.

There isn't a UI to delete the errors; if they're unrelated then they wouldn't be used, but there's some use for the logs internally so we don't expose deletion. It'd have to be done in the DB directly.
 
Are you using PayPal for other things? It's likely that the other things are being sent via IPN and thus being logged.

That is probably the answer, thanks!


If this is the case, you can change your IPN URL to PayPal to point to a basic valid URL; it doesn't have to be the XF URL as we specify an IPN URL already.

Do you mean this part of the xenforo documentation:

You should enter a notification URL of [your Board URL]/payment_callback.php.

So would I put anyoldvaliddomain.com/payment_callback.php into my Paypal business preferences instead? And this will still work.

It'd have to be done in the DB directly.

Do you know a way to do that, e.g. SQL query?


 
You can enter any valid URL for the IPN (other than the XF one, obviously).
You mean it doesn't have to be a domain I own, e.g. I could put apple.com/payment_callback.php

I don't understand how paypal are then communicating back to the forum site that an upgrade has been paid for, or a recurring subscription was cancelled. Surely it has to do this to create or revoke the user upgrades?

Sorry if I appear to be nit picking, it seems to me there's a lot at stake if I mess it up and it all goes wrong. Anw hy would the xenforo documentation say to put your Board URL]/payment_callback.php if it any old valid domain will do?
 
I would recommend using your own domain.

XF passes the correct URL through when the upgrade is purchased, so the IPN field isn't used.
 
XF sends the IPN URL though when an upgrade is made so the value in PayPal isn't directly used. However, a URL needs to be entered in PayPal to enable IPNs; if you don't enter it, IPNs won't be sent.

The documentation recommends setting that address as a backup and to make sure that you enter a reasonable address. The only consequence of setting the URL to XF's URL is that you may get extra log entries from actions that didn't set an explicit IPN URL; XF will filter these out.

There isn't really a query I could give you to manage the data. It's in the xf_user_upgrade_log table, but you'd need to be sure you only remove records that don't relate to user upgrade payments.
 
The reason I ask is I don't want to go and register a domain just for this unless I have to. I'm still confused why the xenforo documentation says to use your board URL. I mean if something goes wrong and I raise a ticket, I will have to say I did something against what xenforo says to do
It's in the xf_user_upgrade_log table, but you'd need to be sure you only remove records that don't relate to user upgrade payments.

Thanks

You mean delete here:

Screen Shot 2015-02-03 at 11.17.21.webp
 
If you're unsure, just leave the IPN setting as is. If upgrades are working, there is nothing wrong. The other log messages are informational and help aid debugging if something goes wrong; the log is really mostly for debugging purposes.

I've explained a change you could make if you want to reduce the number of unrelated log entries but that's entirely up to you. The simplest recommendation is to enter the URL as per the documentation.
 
Top Bottom