Fixed Payment error: Please enter a value using 32 characters or fewer

Mr Lucky

Well-known member
Anyone know what this is all about?

Thanks

Code:
Server error log

    XF\PrintableException: Please enter a value using 32 characters or fewer. src/XF/Mvc/Entity/Entity.php:1083

    Generated by: Unknown account Dec 21, 2017 at 10:59 AM

Stack trace

#0 src/XF/Repository/Payment.php(57): XF\Mvc\Entity\Entity->save()
#1 src/XF/Payment/AbstractProvider.php(187): XF\Repository\Payment->logCallback('1128,4,token,11...', 'paypal', '7K466387JM83918...', 'error', 'Could not find ...', Array, 'S-54J967907P018...')
#2 payment_callback.php(67): XF\Payment\AbstractProvider->log(Object(XF\Payment\CallbackState))
#3 {main}

Request state
 
This appears to be something related to legacy payments, based on the format of the original token there, though it was actually logging an error. We may need the full request state for this, though that would be best sent privately I expect.

Moving to bugs for analysis though.
 
These coincide with the a payap receipt for a recurring subscription. My worry is that they are paying, but their user upgrade gets downgraded.
 
There could be a bug here, potentially specific to legacy payments. The log indicates an error, though we can't see the full message to know what it specifically couldn't find.

If you can send me the full request state details in a PM, that would help.

As is, you can likely re-upgrade/extend the subscription for this user in the mean time.
 
So there are no more details from the error log? That may harm debugging this exactly, though we may be able to get the params from PayPal's IPN log. There should always be something in the request state section of the error log though (even if there isn't a lot of data there).
 
IPN history shows this:
FirefoxScreenshot056.webp

It seems odd that there is no tickbox by the payment to resend

One thing I noticed is my IPN setting had the old http URL instead of https (but has been working fine for a year or so since I switched to https.

This has definetly only started since the xf2 upgrade.
 
Just to confirm, there's absolutely nothing under the "request state" in the server error log? (Note that areas in the overlay may be scrollable.)

Otherwise, if you click on the message ID for the most recent entry, it will hopefully give you all of the request details in the "IPN Message" field. If you can send that to me, that'd help.

Further, you have had some other IPN callbacks in the last few days. Do you know what those are for? If they were for purchases, do you know if these are new purchases with XF2 or a recurring subscription from a user that subscribed on XF1?

(The payment system is totally different in XF2. We do have code in place to handle the legacy code path, though it looks like there might be some sort of bug in it.)
 
It looks like this one is the first since upgrading (which was on Tuesday)

The others were for recurring upgrades and one donation upgrades

There have been no new account upgrades purchased since the xf2 upgrade

Edit: no nothing under request state
 
Same error on my site earlier. I thought it was something caused by a subscription payment failure and deleted the errors. Should it show up again I'll hang on to them.
 
We have identified the fix for this, though it's fairly involved to apply. This is specifically caused by recurring subscriptions from XF1 in XF2. There are a few different issues involved, including the "legay" flag on a payment profile possibly being lost.

Because of the complexity of the fix, it's likely to be something that we really need to apply to your site. If you're having this error and you'd like us to apply a fix for it, please submit a ticket with FTP and ACP login details. (A full fix will be included in 2.0.2.)
 
FYI, I have a customer who was affected by this bug. He upgraded to 2.0.2 and now appears to be receiving callbacks (in XenForo) for past payments. I am guessing the previous bug (and subsequent error response) did not qualify to Paypal as a successful acknowledgment of the payment callback. So now that the bug is fixed XenForo is successfully acknowledging the automated "retry callbacks."

So basically... you might expect past payments to begin to appear in the XenForo log after upgrading to 2.0.2. This is not a problem but he was initially confused because he didn't realize he was looking at a past payment.
 
What are the files affected by this bug, as i have updated to 2.0.2 and still getting the errors from Paypal?
This is costing revenue, as Paypal seems to cancel payments that fail a couple of times.
It does seem that they are from annual reccurring memberships from XF1.
Thankyou
 
Last edited:
Top Bottom